1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個贊
同一套業(yè)務(wù)邏輯,實(shí)現(xiàn)一個webservice中間接口,中間涉及memcached和mogodb的一些操作。
分別在Node.js和JAVA平臺實(shí)現(xiàn),java代碼部署在Tomcat 7.0上,用Apache jmeter進(jìn)行壓力測試。
得到的測試結(jié)果很是出乎意料,Node.js的高并發(fā)優(yōu)勢為什么沒有體現(xiàn)出來呢???
**操作系統(tǒng):**CentOS 6.4(虛擬機(jī))
**內(nèi)存:**1.5G
**CPU:**單核
并發(fā)數(shù) 100
**ramp-up period(in seconds)**1執(zhí)行次數(shù) 10
以下是測試結(jié)果:Lable #Sample Average Median 90%Line Min Max Error% Throughput KB/secNode.js HTTP請求 1000 333 369 485 1 956 0.0 183.3180568285976 40.995932630614114
Tomcat HTTP請求 1000 48 9 188 2 563 0.0 183.4862385321101 58.414564220183486
可以看到Node.js的平均執(zhí)行時(shí)間為333毫秒,Tomcat的執(zhí)行時(shí)間為48毫秒,Tomcat比Node.js快了近7倍!
補(bǔ)充1:即使是測試接口直接返回,不涉及后續(xù)的操作,Tomcat也比Node.js快了很多,求各位大神給個解釋。
補(bǔ)充2:修改jmeter 的 ramp-up period的測試條件,比如這個值增大(如10秒),node.js的執(zhí)行效率變高了,但這么想來也是違背了高并發(fā)的特性
拋磚引玉,一起探討問題。如果你也感興趣,不妨拿出點(diǎn)時(shí)間來寫一段程序測試一下,我希望能得到不一樣的結(jié)果。
- 1 回答
- 0 關(guān)注
- 656 瀏覽
添加回答
舉報(bào)