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