測試工具:apache-jmeter⑵.12
測試對象:分別用nodejs、Python、struts2、jersey實現(xiàn)的helloworld web小案例
1、本地電腦配置與測試前電腦內(nèi)存使用截圖分別以下:
1、下面各個實現(xiàn)方式的helloworld截圖:
1.nodeJS
2. Python
3.struts2
4.jersey
1、下面是jmeter配置截圖,每一個helloworld測試配置都是1樣,截圖不重復(fù)了。
1、下面是測試聚合報告截圖
通過30個線程,5000次循環(huán),壓力測試結(jié)果以下
圖表含義說明以下:
Label:說明是要求類型,如Http,FTP等要求。
#Samples:也就是圖形報表中的樣本數(shù)目,總共發(fā)送到服務(wù)器的樣本數(shù)目。
Average:也就是圖形報表中的平均值,是總運行時間除以發(fā)送到服務(wù)器的要求數(shù)。
Median:也就是圖形報表中的中間值,是代表時間的數(shù)字,有1半的服務(wù)器響應(yīng)時間低于該值而另外一半高于該值。 90%line:是指90%要求的響應(yīng)時間比所得數(shù)值還要小。
Min:是代表時間的數(shù)字,是服務(wù)器響應(yīng)的最短時間。
Max: 是代表時間的數(shù)字,是服務(wù)器響應(yīng)的最長時間。
Error%:要求的毛病百分比。
Throughput:也就是圖形報表中的吞吐量,這里是服務(wù)器每單位時間處理的要求數(shù),注意查看是秒或是分鐘。 KB/sec:是每秒鐘要求的字節(jié)數(shù)
90%line:是指90%要求的響應(yīng)時間比所得數(shù)值還要小。
1. nodejs
2. struts2
3. Jersey
4. Python 的結(jié)果以下,用的是第3方的Bottle框架,或許是代碼實現(xiàn)有問題,或框架有問題,出現(xiàn)了40.04%的毛病,而且整體水平都偏低。
本次測評僅僅是通過普通辦公機器對上述做了測評。結(jié)果顯示:在最大要求響應(yīng)時間上,nodejs優(yōu)勢10分明顯。
5、通過30個線程,無窮循環(huán),20分鐘壓力測試
結(jié)果截圖以下:
1. nodejs
2. struts2
3. Jersey
4. Python 的結(jié)果以下,用的是第3方的Bottle框架,或許是代碼實現(xiàn)有問題,或框架有問題,出現(xiàn)了17%的毛病,而且整體水平都偏低。
20分鐘壓測結(jié)果如上Nodejs在響應(yīng)速度上還是非常有優(yōu)勢。由于本次測試沒有任何代碼的復(fù)雜度,參考請謹慎。