生成 HTML 报告的两种方式
前言
需要了解 Jmeter CLI 模式的命令哦
https://www.cnblogs.com/poloyy/p/13227149.html
利用已有的 .jtl 文件生成 html 报告
jmeter -g report.jtl -o report
- -g 指定 .jtl 文件
- -o 指定报告生成的文件夹
- 将 .jtl 文件转换为 .html 文件,并保存到 report 文件夹中
- 切记: report.jtl 必须存在, report 目录必须不存在或者为空
在 Jmeter GUI 中有一个类似的功能
点击 Tools
选好 jtl 文件,properties 配置文件,存放 HTML 报告的文件夹
无 .jtl 文件,通过 nonGUI 模式生成 html 报告
jmeter -n -t FlaskDemo.jmx -l result/report.jtl -e -o report
- 执行 FlaskDemo.jmx 脚本
- 在 result 目录下生成 report.jtl 报告
- 最后在 report 目录下生成 html 文件
- 切记: report.jtl 必须不存在, report 目录必须不存在或者为空
HTML 报告预览
Dashboard 板块
Test and Report informations 测试和报告信息
- Source file:jtl 文件名
- Start Time :压测开始时间
- End Time :压测结束时间
- Filter for display:过滤器
APDEX(Application performance Index) 应用程序性能指数表
APDEX 介绍
- 基于容忍和满足的阈值,为每个事务计算 APDEX
- 关于APDEX的相关信息,请参考这里:应用性能指标;英文原文,参考这里:Apdex-Wikipedia
- apdex:应用程序性能指标,在这里代表当前事务的性能指标,范围在0~1之间,1表示达到所有用户均满意
- T(Toleration threshold):容忍的阈值,500ms
- F(Frustration threshold):无法接受的阈值,1.5s
- label:事务名称(请求名)
Requests Summary 请求摘要图
显示成功和失败的请求,不考虑事务控制器样本结果
Statistics 统计表
相当于聚合报告
Errors 错误表
提供了所有错误及其在总请求中所占比例
Top 5 Errors by sampler
为每个 Sampler(默认情况下不包括事务控制器)提供前五个错误信息摘要和错误数,若没有则不显示在上面,最多显示 5 个
Charts 介绍
- 包含了各种详细信息图表,比 GUI 模式的图表好看且易懂多了!
- 做性能测试,如何发现是否有性能瓶颈?必须从结果图表中找到鸭!
- 而 html 报告将性能测试可能需要用到的图表都加进去了,可谓是6666
-
一共有三大模块
- Over Time
- Throughput
- Response Times
Over Time
一共有 6 个图表
- Response times Over Time
- Response times Percentiles Over Time
- Active Threads Over Time
- Bytes throughput Over Time
- Latencies Over Time
- Connect Time Over Time
=======>>>> 点击右侧即可跳转对应图表哦
Response times Over Time
- 脚本运行期间,不同事务(请求)的响应时间变化趋势图
- 包括事务控制器样本结果
- 重点:可以根据响应时间和变化和TPS以及模拟的并发数变化,判断性能拐点的范围
- 一条线代表一个事务(请求)
Response times Percentiles Over Time
- 脚本运行期间,成功的请求的响应时间百分比分布图
- 可理解为聚合报告对应的指标(图二)
Active Threads Over Time
- 脚本运行期间,每个线程组的活跃线程数变化趋势图
- 一个线程组对应一条线
Bytes throughput Over Time
- 脚本运行期间,吞吐率变化趋势图
- 在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标
- 会忽略事务控制器样本结果
Latencies Over Time
- 脚本运行期间,发送一个完整的请求所需时间的变化趋势图
- 可理解理解成:从发送请求到收到第一个响应所花费的时间
- 包括事务控制器样本结果
Connect Time Over Time
- 脚本运行期间,事务(请求)建立连接所花费的平均时间变化趋势图
- 包括 SSL 三次握手的时间
- 当出现链 Connection Time Out 的错误时,Connect Time 就会等于链接超时时间
对应 Jmeter 监视器的元件
Throughput
- Hits Per Second
- Codes Per Second
- Transactions Per Second
- Total Transactions Per Second
- Response Time Vs Request
- Latency Vs Request
=======>>>> 点击右侧即可跳转对应图表哦
Hits Per Second
每秒点击数
Codes Per Second
脚本运行期间,响应状态码的数量变化趋势图
Transactions Per Second(最重要)
- 每秒事务数,即 TPS
- 衡量系统处理能力的重要指标
- 包括事务控制器样本结果
Response Time Vs Request
平均响应时间与每秒请求数的关系图
Latency Vs Request
完成一个完整的请求所需平均时间与每秒请求数的关系图
对应 Jmeter 监视器的元件
Response Times
- Response Time Percentiles
- Response Time Overview
- Time Vs Threads
- Response Time Distribution
=======>>>> 点击右侧即可跳转对应图表哦
Response Time Percentiles
- 响应时间百分比分布图
- 响应时间在某个百分比范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。
Response Time Overview
- 响应时间分布图
- 展示落在各个平均响应时间区间的请求数情况
Time Vs Threads
- 平均响应时间和线程数的对应变化曲线
- 可以通过这个对应的变化曲线来作为确定性能拐点的一个参考值
- 可以选中或取消选中下面的 Sampler
Response Time Distribution
- 响应时间分布图
- 不同响应时间区间内,成功响应数是多少