亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4879 | 回復: 15
打印 上一主題 下一主題

[C] 服務器這樣的數(shù)據(jù)合格了嗎? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-02-21 21:35 |只看該作者 |倒序瀏覽
本帖最后由 大眾推薦 于 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ā)連接請求。。

測試結果:

QQ圖片20140221212128.jpg (13.79 KB, 下載次數(shù): 91)

QQ圖片20140221212128.jpg

805.jpg (89.6 KB, 下載次數(shù): 82)

805.jpg

論壇徽章:
0
2 [報告]
發(fā)表于 2014-02-21 21:56 |只看該作者
說明一下:
1.打印信息是從服務器打印的,有一個計數(shù)器,每收到1W的連接請求,就打印一次。
2.最后 ->0:615988 表示最近這1W個請求消耗的時間。第一個單位是second,第二個是microseconds.
3. 由于只是簡單的時間驗證,即是 T = T2 - T1, 所以會出現(xiàn) 1:-307735 這樣的結果,相當于  1- 0.307735 = 0.692265 us.

論壇徽章:
0
3 [報告]
發(fā)表于 2014-02-21 22:05 |只看該作者
從什么數(shù)據(jù)可以看出,基本上1W的請求,不會超過 0.75S ,(其中有一段時間會稍微大一點,因為后臺還有2條線程在干活)。

就按照0.75秒 完全1W個請求來計算。。。
那么會有: 10,000/0.75 =13,333 req/s.

相同的配置下的Tornado 是8213

(13,333 - 8,213)/8,213  = 62.34%

貌似是比Tornado高效很多。。。。

這樣對比,科學嗎???

論壇徽章:
0
4 [報告]
發(fā)表于 2014-02-21 22:09 |只看該作者
另外,CPU使用率越在 87 - 90%

論壇徽章:
0
5 [報告]
發(fā)表于 2014-02-21 22:25 |只看該作者
根據(jù)上面數(shù)據(jù),10W次,用時約7.2S

(100,000/7.2 - 8213)/8213 =69.10%

好吧,這個結論,至少對得起 C是高效率 的說法,不管系統(tǒng)設計是否垃圾~~

論壇徽章:
0
6 [報告]
發(fā)表于 2014-02-22 01:53 |只看該作者
本帖最后由 大眾推薦 于 2014-02-22 02:12 編輯

自己寫的測試程序,和推算出來的結論,還是不太好的。。。
修改了一下代碼,用ab 測試出來的結果。
不知道是什么概念?
請高手指教

829.jpg (111.28 KB, 下載次數(shù): 87)

829.jpg

論壇徽章:
0
7 [報告]
發(fā)表于 2014-02-26 15:18 |只看該作者
.....大家都不屑于指導一下了???

論壇徽章:
2
天秤座
日期:2014-01-15 13:50:58天秤座
日期:2014-02-19 17:09:23
8 [報告]
發(fā)表于 2014-02-26 15:25 |只看該作者
看不懂。。。

論壇徽章:
0
9 [報告]
發(fā)表于 2014-02-26 15:34 |只看該作者
我也是新人。。。。也不熟悉。。。。第一次寫和網(wǎng)絡相關的東西。。。

根據(jù)
http://72891.cn/thread-4126050-2-1.html

13L的說法。。。

每次請求的響應時間小于 30ms 就算及格.
標準是 15ms 算優(yōu)秀.

那么現(xiàn)在做到 8.5ms 了。。。
應該是合格的了吧。。。

當然,返回數(shù)據(jù)的大小,會影響具體時間。。



回復 8# 除美滅日平韓


   

論壇徽章:
4
雙子座
日期:2014-08-28 10:08:002015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:112015年亞洲杯之阿聯(lián)酋
日期:2015-03-13 03:25:15
10 [報告]
發(fā)表于 2014-02-26 15:39 |只看該作者
我來回答一下吧
1.本地測試沒有意義,你看你300us就能得到數(shù)據(jù),這個一點意義都沒有
2.不要糾結于什么語言,python,c++,java都不是關鍵,關鍵可能都是nginx,lighthttpd這種,而不是你的后端語言
3.怎么判斷服務器的極限呢?可以這樣,做一個測試程序,測試在不同并發(fā)量的情況下,這個程序,connect,send,recv一個過程的時間,當這個時間發(fā)生跳變(比如原來是10,現(xiàn)在是11那不叫跳變,如果原來是10,一下子變成20,那么就是跳變)這個時候就差不多是極限了
4.說一下我們團隊用c++自己做的Imserver的性能吧, 4核2.4G 8G內(nèi)存 20w長鏈接在線  4w并發(fā)(每秒發(fā)一個數(shù)據(jù)包) cpu在75%左右,在這種情況下,connect,send,recv的時間大約是10-20ms

最后說一句如果你指望nginx這種來做高性能,多半是在自欺欺人。不同的情況下,不同的數(shù)據(jù)包大小都有不同的優(yōu)化方案,這一點比你用了什么語言來說要重要的多
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP