我们可以看到,通过这份报告我们就可以得到通常意义上性能测试所最关心的几个结果了。
Samples--本次场景中一共完成了多少个Transaction
Error--出错率
Troughput--吞吐量,单位:transaction/sec
KB/sec--以流量做衡量的吞吐量
B.ViewResultsTree以树状列表查看结果
通过这个Listener,我们可以看到很详细的每个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为通过的。
如果你测试的场景会有很多的transaction完成,建议在这个Listener中仅记录出错的transaction就可以了。要做到这样,你只需要将Log/Display:中的Errors勾中就可以了。
二、.jtl文件的分析
在性能测试过程中,我们往往需要将测试结果保存在一个文件当中,这样既可以保存测试结果,也可以为日后的性能测试报告提供更多的素材。
Jmeter中,结果都存放在.jtl文件。这个.jtl文件可以提供多种格式的编写,而一般我们都是将其以csv文件格式记录,这样做是因为csv文件格式看起来比较方便,更重要的是这样做可以为二次分析提供很多便利。
我这里所说的二次分析是指除了使用Listener之外,我们还可以对.jtl文件进行再次分析。
a.设置jtl文件格式
我们从jmeter官方网站中下载下来的Jmeter解压后是可以直接使用的。但是,使用默认配置生成的jtl文件内容并不能满足我们的需要。于是我们必须进行必要的设置。在2.2版本中,如果要修改jtl设置必须要到jmeter.properties文件中设置;但是在2.3版本中,我们只需要在界面上设置就可以了。你只需要选择某个Listener,点击页面中的configure按钮。此时,一个设置界面就会弹出来,建议多勾选如下项:SaveFieldName,SaveAssertionFailureMessage。
b.jtl文件中的各项
经过了以上设置,此时保存下来的jtl文件会有如下项:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency
反正实践后,你总能找到一条属于自己的数据分析之路。
测试结果的分析说明
说明:
Label:每个JMeter的element(例如HTTPRequest)都有一个Name属性,这里显示的就是Name属性的值
#Samples:表示你这次测试中一共发出了多少个请求,我的测试计划模拟10个用户,每个用户迭代10次,因此这里显示100
Error%:本次测试中出现错误的请求的数量/请求的总数
[NextPage]
Throughput:吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond),当使用了TransactionController时,也可以表示类似LoadRunner的TransactionperSecond数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
用户数#SamplesAverageMedian90%LineMinMaxError%ThroughputKB/Sec
1064267268812512571900.014.8/sec221.15
25250162016871750250178100.014.5/sec217.14
50500331934383578281365700.014.2/sec212.02
75750488751095584328709400.014.5/sec216.67
1001000624464856672250684400.015.1/sec225.43
一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-10秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。故该系统的用户信息查询信息页面的在10到25人并发访问时,系统响应速度很快,25人到50人并发访问时速度还可以,50人到100人并发访问就比较慢了。