- 論壇徽章:
- 0
|
本帖最后由 大眾推薦 于 2014-02-21 21:59 編輯
前2天被問及我用C,為手機APP寫的短鏈接服務器效率如何。
我給出了之前本地測試的一組數(shù)據(jù):
測試了一組數(shù)據(jù):
本地,1PV (1.7KB)完成時間約為150-350 us, 按300us算,那么1秒鐘內(nèi) 1,000,000/300 = 3333 PV,另外,每1W PV約 3S,也印證了上述結論。
打開4個客戶端不斷讀數(shù)據(jù)(CPU4核),保持一樣的測試結果。當客戶端超過4的時候(幾十個),時間稍微變大,但是符合線性增張。完全符合科學。
被鄙視了一下下,說,他們用的Python 寫的 Tornado,單核CPU都可以達 3K,4核*2.4G CPU, linux, 可以達 8K2。
這不科學。。。!
這個是我的第一反應。
當然,從語言運行效率上來說,C > C++ > java > Python.
明顯,如果一個C寫的東西,運行效率比一個解析語言更加慢,這是不原諒的!言下之意,這個設計太垃圾了。。!
昨天晚上,根據(jù)Tornodo 的測試方式 ( ab -n 10000 -n 10 http://xxxx.com/, 然后 xxx.com的服務器只返回一個 "Hello World!" 字符串)。
于是我也修改了服務器,讓每次收到鏈接請求的時候,只返回一個 "Hello World!" 字符串。
CPU: AMD 4*2.4G
MEM: 8G
SYSTEM: UBUNTU 10.04, with GUI.
Server: 4 working threads + 2 other threads
-------------------------
另外,一臺單核 CPU 1.7G, UBUNTU 10.04的筆記本跑 13個客戶端不斷的發(fā)連接請求。。
測試結果:
|
|