测试工具: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在响应速度上还是非常有优势。由于本次测试没有任何代码的复杂度,参考请谨慎。