https://blog.csdn.net/qq_24373725/article/details/78952447html
Jmeter报告解析
一、Aggregate Report 解析
Aggregate Report 是 JMeter 经常使用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备你们查阅。
若是你们都是作Web应用的性能测试,例如只有一个登陆的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别以下。
Label:每一个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你此次测试中一共发出了多少个请求,若是模拟10个用户,每一个用户迭代10次,那么这里显示100
Average:平均响应时间——默认状况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也能够以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Note:关于 50% 和 90% 并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认状况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也能够表示相似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,至关于LoadRunner中的Throughput/Sec
基本知识:
一、吞吐量:是指在没有帧丢失的状况下,设备可以接受的最大速率。
二、存储的最小单位是字节Byte,对于存储单位,有如下几个单位,GB、MB和KB,那么这三者之间的换算关系是:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。
Bit :“位”,称为bit,也就是比特,有的时候也称为位。一个字节为8位二进制表示。
Byte:“字节”,一个字节就是8比特。
三、Mbps (million bits per second 兆位/秒) 表明每秒传输1,000,000比特。该缩写用来描述数据传输速度。例如:4Mbps=每秒钟传输4M比特。
数据传输速率的单位,字母b(bit)是比特和字母 B (Byte)是字节。
四、吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,二者的单位都是Mbps.先让咱们来看二者对应的英语,吞吐量:throughput ; 带宽: Max net bitrate 。当咱们讨论通讯链路的带宽时,通常是指链路上每秒所能传送的比特数。咱们能够说以太网的带宽是10Mbps。可是,咱们须要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。咱们倾向于用“吞吐量”一次来表示一个系统的测试性能。这样,由于实现受各类低效率因素的影响,因此由一段带宽为10Mbps的链路链接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用可以以2Mbps的速度向另外的一个主机发送数据。
五、方差和标准差都是用来描述一组数据的波动性的(集中仍是分散),标准差的平方就是方差。方差越大,数据的波动越大。
详细结果分析:用过LoadRunner的人应该都知道,LoadRunner会为咱们提供一大堆图标和曲线。可是在Jmeter里,咱们只能找到几个可怜的Listener来方便咱们查看测试结果。可是,对于初学者来讲,一些简单的结果分析工具可使咱们更容易理解性能测试结果的分析原理。因此,千万别小看这几个简单的Listener啊。服务器
A.Aggregate Report 聚合报告并发
咱们能够看到,经过这份报告咱们就能够获得一般意义上性能测试所最关心的几个结果了。工具
Samples -- 本次场景中一共完成了多少个Transaction性能
Average -- 平均响应时间测试
Median -- 统计意义上面的响应时间的中值网站
90% Line -- 全部transaction中90%的transaction的响应时间都小于xx.net
Min -- 最小响应时间命令行
Max -- 最大响应时间线程
PS: 以上时间的单位均为ms
Error -- 出错率
Troughput -- 吞吐量,单位:transaction/sec
KB/sec -- 以流量作衡量的吞吐量
B.View Results Tree 以树状列表查看结果
经过这个Listener,咱们能够看到很详细的每一个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为经过的。
若是你测试的场景会有不少的transaction完成,建议在这个Listener中仅记录出错的transaction就能够了。要作到这样,你只须要将Log/Display:中的Errors勾中就能够了。
2、.jtl文件的分析
在性能测试过程当中,咱们每每须要将测试结果保存在一个文件当中,这样既能够保存测试结果,也能够为往后的性能测试报告提供更多的素材。
Jmeter中,结果都存放在.jtl文件。这个.jtl文件能够提供多种格式的编写,而通常咱们都是将其以csv文件格式记录,这样作是由于csv文件格式看起来比较方便,更重要的是这样作能够为二次分析提供不少便利。
我这里所说的二次分析是指除了使用Listener以外,咱们还能够对.jtl文件进行再次分析。
a.设置jtl文件格式
咱们从jmeter官方网站中下载下来的Jmeter解压后是能够直接使用的。可是,使用默认配置生成的jtl文件内容并不能知足咱们的须要。因而咱们必须进行必要的设置。在2.2版本中,若是要修改jtl设置必需要到jmeter.properties文件中设置;可是在2.3版本中,咱们只须要在界面上设置就能够了。你只须要选择某个Listener,点击页面中的configure按钮。此时,一个设置界面就会弹出来,建议多勾选以下项:Save Field Name,Save Assertion Failure Message。
b.jtl文件中的各项
通过了以上设置,此时保存下来的jtl文件会有以下项:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency
请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,失败信息,字节,响应时间
其中聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所须要的时间;平均响应时间=全部响应时间的总和/完成的transaction数;失败率=失败的个数/transaction数
舒适提示:在jmeter2.2和2.3版本中,都存在的一个问题是当咱们从新打开jmeter,使用某个Listener来查看jtl文件时,jmeter是会报错的。所以当你使用命令行方式完成了一个场景的测试后,你获得的只是一堆保存在jtl文件中的原始数据。因此知道聚合报告中的各项的来源是能够方便你们摆脱测试工具来进行结果的分析。
总的来讲,对于jmeter的结果分析,主要就是对jtl文件中原始数据的整理,我是使用一些小脚本进行相关的分析的,不知道你打算怎么作呢?
反正实践后,你总能找到一条属于本身的数据分析之路。
测试结果的分析说明
说明:
Label:每一个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你此次测试中一共发出了多少个请求,个人测试计划模拟 10 个用户,每一个用户迭代 10 次,所以这里显示 100
Average:平均响应时间 —— 默认状况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也能够以 Transaction 为单位显示平均响应时间
Median:中位数,也就是 50 %用户的响应时间
90% Line: 90 %用户的响应时间
Min: 最小响应时间
Max: 最大响应时间
Error%:本次测试中出现错误的请求的数量 / 请求的总数
[NextPage]
Throughput:吞吐量 —— 默认状况下表示每秒完成的请求数( Request per Second ),当使用了 Transaction Controller 时,也能够表示相似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,至关于 LoadRunner 中的 Throughput/Sec
我分别模拟十、2五、50、75和100个用户并发访问该页面,根据报告所得测试结果做出以下统计。注:时间单位是ms
用户数 #Samples Average Median 90%Line Min Max Error% Throughput KB/Sec
10 642 672 688 125 125 719 00.0 14.8/sec 221.15
25 250 1620 1687 1750 250 1781 00.0 14.5/sec 217.14
50 500 3319 3438 3578 281 3657 00.0 14.2/sec 212.02
75 750 4887 5109 5584 328 7094 00.0 14.5/sec 216.67
100 1000 6244 6485 6672 250 6844 00.0 15.1/sec 225.43
通常状况下,当用户可以在2秒之内获得响应时,会感受系统的响应很快;当用户在2-5秒之间获得响应时,会感受系统的响应速度还能够;当用户在5-10秒之内获得响应时,会感受系统的响应速度很慢,可是还能够接受;而当用户在超过10秒后仍然没法获得响应时,会感受系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。故该系统的用户信息查询信息页面的在10到25人并发访问时,系统响应速度很快,25人到50人并发访问时速度还能够,50人到100人并发访问就比较慢了。--------------------- 做者:slq520 来源:CSDN 原文:https://blog.csdn.net/qq_24373725/article/details/78952447 版权声明:本文为博主原创文章,转载请附上博文连接!