Jmeter(四十八)_动态线程分析HTML测试报告

时间:2024-01-11 22:08:20

概述

jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源。所以我们常常用命令行去跑性能脚本,得出结果

同时,jmeter在命令行下还可以生成多维度的测试报告,里面包含了常用的性能指标和监听器图表。

操作步骤

详见:JMeter(十四)-自动生成测试报告

注:如果想动态的执行线程数,我们需要在GUI模式下把线程组和持续时间设置成全局属性

${__P(threadNum,)} 获取线程组属性
${__P(cycle,)} 获取迭代次数属性
${__P(time,)} 获取时间属性

Jmeter(四十八)_动态线程分析HTML测试报告

动态执行的命令如下:

jmeter -JthreadNum=100 -Jtime=180 -n -t  命令行动态设置线程数/时间(秒)

下图表示100线程并发运行180s

Jmeter(四十八)_动态线程分析HTML测试报告

用户登录-考勤-退出并发测试-结果分析

针对Jmeter(四十七)_负载测试统计超时率这篇文章,我们用命令行重新生成测试报告并分析一下结果

目标值:

Jmeter(四十八)_动态线程分析HTML测试报告

测试结果:

1. 响应时间、业务成功率、并发量

根据JMeter命令行生成的html样式测试报告结果分析,统计数据如下:

Jmeter(四十八)_动态线程分析HTML测试报告

从图中初步分析:

Jmeter(四十八)_动态线程分析HTML测试报告

1)响应时间:登录并发测试场景中,并发量=100时,本次以max采样数据统计,总体请求的平均响应时间≈1s,没有超时。登录,考勤打卡、退出系统这些过程达到预期目标
2)业务成功率:并发量=100时,业务成功率=100%(测试脚本中设置有断言,可结合检查断言效果),符合预期目标
3)并发量:线程组设置100个线程,运行过程中未出现任何异常,满足100个线程并发操作的需求

APDEX性能指数

Apdex:APDEX性能指数(Application Performance Index),是一个国际通用标准,Apdex是用户对应用程序性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终的用户体验和应用性能作为一个完整的指标进行统一度量

Jmeter(四十八)_动态线程分析HTML测试报告

下图表示通用用户满意度区域,0表示没有满意的用户,1代表所有用户都满意。实际业务系统开发过程中,1是团队所追求的目标

Jmeter(四十八)_动态线程分析HTML测试报告

对于opms业务,100个用户并发登录的APDEX指标如下所示。从图中分析,整体Apdex值和单个步骤的Apdex值都比较大,表示用户满意度比较大,侧面说明此时服务器响应速度较快。

Jmeter(四十八)_动态线程分析HTML测试报告

接下来我们将线程数修正为200,持续时间5分钟,观察html报告

Jmeter(四十八)_动态线程分析HTML测试报告

Jmeter(四十八)_动态线程分析HTML测试报告

Jmeter(四十八)_动态线程分析HTML测试报告

Jmeter(四十八)_动态线程分析HTML测试报告

从图中分析得出:

Jmeter(四十八)_动态线程分析HTML测试报告

1)响应时间:登录并发测试场景中,并发量=200时,本次以max采样数据统计,退出系统的业务响应时间未达到预期目标
2)业务成功率:并发量=200时,退出系统的业务成功率=99.3%(测试脚本中设置有断言,可结合检查断言效果),不符合预期目标
3)并发量:线程组设置200个线程,退出系统的出现系统异常,有12个请求没有接收到响应。

登录和退出的Apdex值相对较低,表示用户满意度不高,侧面说明此时服务器响应速度略慢。