一篇文章教你如何读懂 JMeter聚合报告参数!

线程组参数解释

在这里插入图片描述

线程数(即并发数):

一个用户占一个线程,200个线程就是模拟200个用户;

Ramp-Up 时间(秒):

设置线程需要多长时间全部启动;如果线程数为200,准备时长为10,那么需要1秒钟启动20个线程;也就是每秒钟启动20个线程;

循环次数:

一次场景下来,请求的数量=线程数 * 循环次数;如果线程数为200,循环次数为10 ,那么每个线程发送10次请求;总请求数为200*10=2000 ;如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本;

JMeter聚合报告参数解释

在这里插入图片描述

Label:每个JMeter的element的Name值,例如HTTP Request的Name;

样本:发出请求数量;模拟20个用户,循环100次,所以显示了2000;

平均值:平均响应时间(单位:ms);默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间;

中位数:50%的用户响应时间小于这个值;

95%百分位:95%的用户响应时间小于这个值;

99%百分位:99%的用户响应时间小于这个值;

最小值:用户响应时间最小值;

最大值:用户响应时间最大值;

异常%:测试出现的错误请求数量百分比;请求的错误率 = 错误请求的数量/请求的总数;若出现错误就要看服务端的日志查找定位原因;

吞吐量:Throughput简称TPS,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,TPS越高说明服务器处理能力越好;

KB/sec:每秒从服务器端接收到的数据量;

压测结果分析

异常%:确认是否允许错误的发生或者错误率允许在多大的范围内;

吞吐量:吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

最大的TPS:不断的增加并发数,加到TPS达到一定值开始出现下降,那么那个值就是最大的TPS;

最大的并发数:

最大的并发数和最大的TPS是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数;

压测的时候要时刻关注应用服务器数据库服务器等CPU、内存、网络等使用情况;

压测过程出现性能瓶颈,若压测客户端任务管理器查看到的CPU、网络和CPU都正常,未达到90%以上,则可以说明服务器有问题,压测客户端没有问题;

影响性能考虑点包括: 数据库、应用程序、中间件(php-fpm、nginx、redis…)、网络和操作系统等方面;

循环控制器

目的:循环该控制器下面子节点的次数。

线程组里循环次数设置了n次,循环控制器下的循环次数也设置了m次,则该控制器下的请求运行的次数是(n*m)次。

如果(If)控制器

一篇文章教你如何读懂 JMeter聚合报告参数!_第1张图片

目的:判断条件,可以引用变量。当为 true 时,执行子节点

Interpret Condition as Variable Expression?

如果选择了此项,则条件必须是一个表达式,需要使用 ${__jexl3 } 或 ${__groovy } 表达式)

Evaluate for all children

勾选:对所有采样器执行前都判断一次

不勾选:仅入口判断一次

如果是字符串的比较,需要加””

"${url}"=="baidu"

注意事项:

在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

你可能感兴趣的:(软件测试,postman,测试工具,软件测试,功能测试,自动化测试,程序人生,职场和发展)