JMeter:生成多维度的HTML报告

作者:wang.lan

        摘要:本篇文章主要讲解jmeter性能测试工具在生成测试报告方面一直有所欠缺,但是JMeter在3.0以后解决了这个问题.JMeter3.0以后引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块,但是请大家注意一个问题JMeter3.0直接生成报告会出现中文乱码,建议大家使用3.1之后的版本,我这里使用的是5.1.1。

一、前提

1、将已调试成功的xxx.jmx格式的脚本放在桌面自定义文件夹lamw中

2、存放html报告的目录的名称不可重复

 

二、方法一

使用windows机器压测的同时直接生成html报告

1、输入dos命令语句

(1)在dos命令输入:

cd C:UsersAdministratorDesktoplamw

(2)继续在dos输入:(生成.jtl或者.csv任一种格式的压测报告即可)

D:apache-jmeter-5.1.1injmeter.bat -n -t xiaochuang.jmx -l test_report_01.jtl -e -o test_report_01 
D:apache-jmeter-5.1.1injmeter.bat -n -t xiaochuang.jmx -l test_report_01.csv -e -o test_report_01

参数解释:

-n :以非GUI形式运行Jmeter

-t :source.jmx 脚本路径

-l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在

-e :在脚本运行结束后生成html报告

-o :用于存放html报告的目录

2、运行并生成测试报告

运行10个线程压测2分钟,运行过程如下:

 

3、查看html测试报告

在test_report_01文件夹中找到index.html,然后点击用浏览器打开(建议使用谷歌、火狐、IE会有版本不兼容情况)如图所示:

 

三、方法二

使用使用已经生成的.jtl格式结果,生成html报告

1、执行dos命令语句

先定位到D:apache-jmeter-5.1.1in下,执行如下命令:

jmeter –g C:UsersAdministratorDesktoplamw est123.jtl -o C:UsersAdministratorDesktoplamw est_report_01

参数解释:

-g : result.jtl 已经存在的.jtl文件的路径。

-o :用于存放html报告的目录

2、查看html测试报告

在test_report_01文件夹中找到index.html,然后点击用浏览器打开(建议使用谷歌、火狐、IE会有版本不兼容情况)

四、报告结果分析:

这个报告总体分为两部分:Dashboard和Charts

1、 Dashboard部分-概览仪表盘

(1)Test and Report informations:

 

(2)APDEX(Application Performance Index): Apdex 标准从用户的角度出发,将对应用响应时间的表现,转为用户对于应用性能的可量化为范围为 0-1 的满意度评价(既0 代表没有满意用户,1则代表所有用户都满意)。

 

备注:T 值在 OneAPM 中叫做 apdex_t,在 oneapm 配置文件中配置。单位是秒。

(3)Requests Summary: 请求的通过率(OK)与失败率(KO),百分比显示。

(4)Statistics: 数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并(类似于jmeter的聚合报告)

 

 汇总:

        此时测试场景50 vuser,压测2分钟。我们从Apdex、Requests Summary、Statistics这三部分的数据可以看出,登录页面、打开页面的满意度很低仅0.03、0.18,未达到用户满意度,打开页面99%用户请求的时间约12.73秒,登录页面99%用户请求的时间约为6.04秒,根据响应时间2-5-8原则,此次测试结果显示在打开页面环节请求时间过长不能满足性能测试的需求,登录页面响应速度相对缓慢,需与开发人员沟通协商进行打开页面、登录页面的优化。

2、 Charts部分-详细信息图表

        主要是通过图表的形式对第一部分的数据分析结果表的进行分析(相当于jmeter中聚合报告表用图形来展示)通过图表形式更加清楚的看到每个时间点的具体响应时间。

        Charts里如图所示分为三大块:时间维度信息(Over Time)、吞吐量(Thorughput)、响应时间(Response Times) 我们可以根据实际测试中需要关注的主要数据来查看对应的图表信息,主要有请求的响应时间、成功请求的响应时间、吞吐量、响应延时、每秒事物数、平均响应时间等

 

(1) Over Time

a、 Response Times Over Time(响应时间变化曲线)可以根据响应时间和变化和TPS以及模拟的并发数变化,判断性能拐点的范围。

根据详细图表可以看出打开页面、登录页面在不同时间段的平均响应时间

 

b、Response Time Percentiles Over Time (successful responses) (成功响应时间百分比)类似于jmeter聚合报告中的Min、Max、90%、95%、99%。

根据详细图表可以看出99%的请求在不同时间段的响应时间

  

c、Bytes Throughput Over Time(字节吞吐量时间变化曲线图)单位是byte,在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标,蓝色为每秒发送字节数,黄色为每秒接收字节数。

 

d、Latencies Over Time(延迟时间曲线图)记录的是客户端发送请求完成后,服务器端返回请求之前的这段时间,在高并发场景或者业务强数据一致性场景,延时是个很严重的影响因素。

 

(2)Throughput

Transactions Per Second (每秒事务数)即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标。 

(3) Response Times

a、Response Time Percentiles(响应时间百分比)即响应时间在某个范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。

b、Time Vs Threads(平均响应时间和线程数的对应变化曲线)可以通过这个对应的变化曲线来作为确定性能拐点的一个参考值。

 

原文地址:https://www.cnblogs.com/ustcinfo-qc/p/12097964.html