采用Jmeter测试工具对web系统作的负载测试,得出的响应报表,数据比较难懂,现作一具体说明。
以下是在一次具体负载测试中得出的具体数值,测试线程设置情况为:线程数:200,等待时间(ramp-up):0秒,循环次数为永远,另:
线程组——这些元件用于指定运行的线程数和等候周期。每个线程模拟一个用户,而等候周期用于指定创建全部线程的时间。例如,线程数为5,等候时间为10秒,则创建每个线程之间的时间间隔为2秒。循环数定义了线程的运行时间。使用调度器,还可以设置运行的起始时间。
取样器——对于服务器HTTP、FTP或LDAP请求,这些元件是可配置请求。该教程仅侧重于Web Services请求。
监听器——这些元件用于请求数据的后期处理。例如,可以将数据保存到文件或用图表来说明结果。此时JMeter图表并没有提供许多配置选项;然而它是可扩展的,它始终可以添加额外的可视化效果或数据处理模块。
得出的图形报表和聚合报告如下所示:
一、 图形报表
图表底部参数的含义如下:
样本数目是总共发送到服务器的请求数。
最新样本是代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量是服务器每分钟处理的请求数。
平均值是总运行时间除以发送到服务器的请求数。
中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
二、 聚合报告
图表含义说明如下:
Label:说明是请求类型,如Http,FTP等请求。
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
Min:是代表时间的数字,是服务器响应的最短时间。
Max: 是代表时间的数字,是服务器响应的最长时间。
Error%:请求的错误百分比。
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。
三、 使用分析
在测试过程中,平均响应时间是我们性能测试的一个重要衡量指标,但是在测试中,特别是在聚合报告中,得出的90%Line,我这里参考《《LoadRunner 没有告诉你的》之一——描述性统计与性能结果分析》,我认为90%Line等同于该文作者提出的90%响应时间,这个数值对我们性能测试分析也很有参考价值。90%响应时间是说在发送的请求中,90%的用户响应时间都比得到的数值上要短,同时说明,一个系统在应用时,90%的用户响应时间都能达到这个数值,那么就为系统性能分析提供了很好的参考价值。
四、 参考文档
1、《JMeter在Web Services性能测试中的应用》 作者Dmitri Nevedrov
2、《《LoadRunner 没有告诉你的》之一——描述性统计与性能结果分析》 作者:陈雷 (Jackei)