测试工具:apache-jmeter-2.12
测试对象:分别用nodejs、Python、struts2、jersey实现的helloworld web小案例
一、本地电脑配置与测试前电脑内存使用截图分别如下:
一、下面各个实现方式的helloworld截图:
1.nodeJS
2. Python
3.struts2
4.jersey
一、下面是jmeter配置截图,每个helloworld测试配置都是一样,截图不重复了。
一、下面是测试聚合报告截图
通过30个线程,5000次循环,压力测试结果如下
图表含义说明如下:
Label:说明是请求类型,如Http,FTP等请求。
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 90%line:是指90%请求的响应时间比所得数值还要小。
Min:是代表时间的数字,是服务器响应的最短时间。
Max: 是代表时间的数字,是服务器响应的最长时间。
Error%:请求的错误百分比。
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。 KB/sec:是每秒钟请求的字节数
90%line:是指90%请求的响应时间比所得数值还要小。
1. nodejs
2. struts2
3. Jersey
4. Python 的结果如下,用的是第三方的Bottle框架,也许是代码实现有问题,或者框架有问题,出现了40.04%的错误,而且总体水平都偏低。
本次测评仅仅是通过普通办公机器对上述做了测评。结果显示:在最大请求响应时间上,nodejs优势十分明显。
五、通过30个线程,无限循环,20分钟压力测试
结果截图如下:
1. nodejs
2. struts2
3. Jersey
4. Python 的结果如下,用的是第三方的Bottle框架,也许是代码实现有问题,或者框架有问题,出现了17%的错误,而且总体水平都偏低。
20分钟压测结果如上Nodejs在响应速度上还是非常有优势。由于本次测试没有任何代码的复杂度,参考请谨慎。