Jmeter生成HTML性能测试报告

本文详细介绍了如何使用JMeter进行性能压测,包括脚本执行、生成HTML报告的两种方式,以及如何查看和解读包含Dashboard、Charts和CustomsGraphs的测试报告。涵盖了APDEX指数、请求统计、响应时间分析等关键内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、前言

2、生成报告

2.1、方式一

2.2、方式二

3、查看报告

3.1、Dashboard(仪表板)

3.2、Charts(图表)

3.3、Customs Graphs(定制图表)


1、前言

使用 Jmeter 进行性能压测时,跑完全部 Jmeter 压测脚本后,接下来最主要的工作就是性能结果分析了。

示例:

创建 Demo 文件目录,并在该目录下创建 test_demo.jmx 压测脚本(业务全流程)。

设置线程数为10,循环次数为10,执行压测脚本。

执行完成后的性能指标展现在总结报告里。

虽然有收集到性能数据,但显示比较单一。

Jmeter 可以生成 HTML 性能测试报告。

2、生成报告

生成 HTML 报告有两种方式:

2.1、方式一

如果没有 .jtl 文件,命令行运行如下命令。

例如,打开命令行跳转到 Demo 目录下,执行 Jmeter 脚本。

jmeter -n -t test_demo.jmx -l result.jtl -e -o /Users/wangmeng/Desktop/ResultReport

命令参数:

-n :以非 GUI 形式运行 Jmeter
-t :test_demo.jmx 脚本路径
-l :result.jtl 运行结果保存路径,.jtl 文件名不能重复
-e :在脚本运行结束后生成 HTML 报告
-o :用于存放 HTML 报告的目录

执行结果:

Demo 目录下生成 result.jtl、jmeter.log 文件。

生成的 HTML 测试报告(ResultReport 目录)。

2.2、方式二

如果已经存在 .jtl 结果文件,命令行运行如下命令。

例如,打开命令行跳转到 Demo 目录下,已存在 result.jtl 文件,执行 Jmeter 脚本。

jmeter -g result.jtl -o /Users/wangmeng/Desktop/ResultReport2

命令参数:

-g :result.jtl 已经存在的 .jtl 文件路径
-o :用于存放 HTML 报告的目录

执行完成后,生成的 HTML 测试报告(ResultReport2 目录)。

3、查看报告

无论采用以上的哪种方式执行,进入到生成的 HTML 报告目录里,打开 index.html 文件即可查看测试报告。

3.1、Dashboard(仪表板)

Test and Report information:测试和报告信息: 测试结果保存文件/测试开始时间/测试结束时间/显示的过滤器。

APDEX (Application Performance Index):应用程序性能指数,范围在0-1之间,1表示达到所有用户均满意,可以在配置文件里设置。

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

Statistics:统计表,提供每个事务的所有指标的摘要,包括3个可配置的百分位数。

Errors:错误表,提供所有错误的摘要及其在总请求中的比例。

Top 5 Errors by sampler:为每个 Sampler(默认情况下不包括事务控制器)提供前5个错误。

3.2、Charts(图表)

分为:Over Time(随着时间的推移)、Throughput(吞吐量)、Response Times(响应时间)

(1)Over Time

Response Times Over Time:随时间变化的响应时间

Response Time Percentiles Over Time (successful responses):响应时间百分比随时间变化(仅限成功响应)

Active Threads Over Time:随着时间的推移活动线程

Bytes Throughput Over Time:随时间推移的吞吐量,单位是字节

Latencies Over Time:随时间推移的延迟

Connect Time Over Time:随时间变化的连接时间

(2)Throughput

Hits Per Second:每秒点击次数

Codes Per Second:每秒响应状态码

Transactions Per Second:每秒事务数

Total Transactions Per Second:每秒总事务数

Response Time Vs Request:响应时间与每秒请求

Latency Vs Request:延迟与每秒请求

(3)Response Times

Response Time Percentiles:响应时间百分位数

Response Time Overview:响应时间概述

Time Vs Threads:时间与线程

Response Time Distribution:响应时间分布

3.3、Customs Graphs(定制图表)

Over Time(随着时间的推移)

在未进行设置时,默认是没有数据的。

例如:创建 Chunk Hit 图表。

打开 Jmeter 安装目录里的 bin 目录下的 user.properties 文件,在文件末尾添加如下内容:

sample_variables=ts-hit
jmeter.reportgenerator.graph.custom_testGraph.classname=org.apache.jmeter.report.processor.graph.impl.CustomGraphConsumer
jmeter.reportgenerator.graph.custom_testGraph.title=Chunk Hit
jmeter.reportgenerator.graph.custom_testGraph.property.set_Y_Axis=Number of Hits
jmeter.reportgenerator.graph.custom_testGraph.property.set_X_Axis=Over Time
jmeter.reportgenerator.graph.custom_testGraph.property.set_granularity=60000
jmeter.reportgenerator.graph.custom_testGraph.property.set_Sample_Variable_Name=ts-hit
jmeter.reportgenerator.graph.custom_testGraph.property.set_Content_Message=Number of Hits :

注:sample_variables 是将自定义变量保存到 .jtl 结果文件中的特殊属性。

文件保存后,再次执行脚本命令,例如:

jmeter -n -t test_demo.jmx -l result2.jtl -e -o /Users/wangmeng/Desktop/ResultReport2

打开新生成的 HTML 测试报告,自定义图表(Chunk Hit)已生成。

精彩推荐

面试笔试系列

思维导图系列

Linux常用命令壁纸

接口Requests系列

测试框架pytest系列

Jmeter快速上手之接口测试

自动化测试框架结构图

移动安全框架(MobSF)

### JMeter性能测试报告生成与分析 #### 一、JMeter性能测试报告生成方法 要生成JMeter性能测试报告,需按照以下方式操作: 1. **运行脚本并保存结果** 使用命令行模式执行JMeter测试计划,并将结果存储到`.jtl`文件中。此过程可以通过指定参数完成,例如通过如下命令实现[^1]: ```bash jmeter -n -t script/1212.jmx -l api.jtl -e -o performanceReport/ ``` 上述命令中的各选项含义分别为: `-n`: 非GUI模式运行; `-t`: 指定测试计划文件路径; `-l`: 输出结果日志文件名; `-e`: 执行完成后生成HTML报告; `-o`: HTML报告输出目录。 2. **调整配置文件** 修改JMeter安装路径下的`bin/jmeter.properties`文件以优化测试环境设置。具体而言,在该文件中可以启用或禁用某些功能,比如中文编码支持、动态参数处理等[^3]。以下是常见的修改项及其作用说明: - 添加UTF-8编码支持:确保请求参数能够正确解析中文字符; - 启用缓存清理机制:防止重复加载静态资源影响测试准确性; - 设置自定义请求头字段:满足特定业务场景需求,如User-Agent、Content-Type等[^4]。 #### 二、JMeter性能测试报告的内容结构 生成后的HTML格式报告通常包含以下几个核心部分: 1. **概览统计信息** 提供整个测试过程中关键指标汇总表,包括但不限于总请求数量(Total Samples)、错误率(Error%)以及平均响应时间(Average Response Time)[^2]。 2. **详细事务分布图谱** 展示不同时间段内的吞吐量变化趋势曲线图表形式呈现出来便于直观理解系统负载能力随时间推移而发生的变化情况. 3. **百分位数延迟分析** 列举各个重要节点处对应的延时数值(90%,95%&99%),帮助识别潜在瓶颈所在位置从而采取针对性措施加以改进提升整体效率水平. 4. **失败详情列表** 记录所有未成功完成的任务实例连同其关联原因描述一起罗列展示给用户查看以便快速定位问题根源所在之处进行修复工作开展之前做好充分准备功课至关重要不可忽视任何一个细节环节哦! #### 三、解读技巧分享 当面对一份完整的性能评测文档资料时候应该注意些什么要点呢?下面给出几点建议供大家参考学习: - 关注总体表现概况,判断是否存在明显异常现象; - 对比历史版本之间差异找出进步空间或者退步迹象; - 结合实际应用场景评估各项技术参数合理性; - 综合考量多维度因素得出最终结论而不是单纯依赖某单一衡量标准来做决定; ```python import pandas as pd # 示例代码用于读取和初步分析 .jtl 文件 data = pd.read_csv('api.jtl') summary_stats = data.describe() print(summary_stats) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangmcn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值