Jmeter生成HTML性能测试报告

article/2025/8/14 9:25:48

目录

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)


http://chatgpt.dhexx.cn/article/KEwicrm4.shtml

相关文章

【测试报告】模板:性能测试报告 2

目录 一、封面 二、文档修改记录 三、目录 四、正文 第一章 概述 第1节 编写目的 第2节 项目概况 第3节 适用范围 第二章 性能测试范围 第1节 测试对象 第2节 测试术语 第3节 测试目标 第4节 测试基本信息 第三章 压测机配置信息 第四章 服务器配置信息 第五章…

接口性能测试报告

1 概述 1.1性能测试概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目标是当负载逐渐增加时&…

性能测试报告实例

上一篇博文主要通过两个例子让测试新手了解一下测试思想,和在做测试之前应该了解人几点,那么我们在如何完成一次完整的性能测试呢? 测试报告是一次完整性能测试的体现,所以,这里我给出一个完整的性能测试报告&#xff…

性能测试报告案例

一、性能测试报告目录 二、性能测试结论 1、***系统的性能 1)业务层的性能说明: 2)技术层的性能说明: 2、***系统的稳定性 另外,注释说明:术语

功能测试报告总结

转自http://www.cnblogs.com/xunmi/archive/2011/08/18/2144745.html 测试报告是测试人员在测试过程中用于反映测试状况的文档,其重要性通过网上哀求、跪求、旋转360度冰天雪地各种求测试报告模块的帖子中就可见一斑。其实测试报告的内容基本都是模板的那些&#xf…

功能测试报告的编写

目录 前言 一、〖版本测试报告〗 二、〖总结测试报告〗 前言 测试报告是测试人员在测试过程中用于反映测试状况的文档,其重要性通过网上哀求、跪求、旋转360度冰天雪地各种求测试报告模块的帖子中就可见一斑。其实测试报告的内容基本都是模板的那些,只…

设置数据库中表的关系图

新建一个数据库及表后,紧接着要设计这些表的关系图,那么如何操作呢? 首先在新建好的数据库下,选中“数据库关系图”,如图所示: 这样,我们就可以在表间建立关系,设置外键。建立关系后…

数据库中表的依赖关系

数据库中表的依赖关系 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 作者:李继金 撰写时间:2019年6月8日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 提起数据库我们都会想到对数据库进行…

DB2中查看表结构

在DBVisualizer 中查看DB2中表的结构信息。 desc <tablename>

正交表

一、正交排列法概述 正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时&#xff0c;由于不可能为每个输入组合都创建测试用例&#xff0c;可以采用这种方法。 案例&#xff1a;字符属性设置程序 在一个窗体中有多个输…

如何将数据库中表转化到redis中

如何将数据库中表转化到redis中 方法一&#xff1a;使用string 数据库中user表一条记录&#xff1a; id username pwd 3 lili 123 使用&#xff1a;文件夹的方式 set user1:3:id 3; set user1:3:username lili; set user1:3:pwd 123; 存入后在redis中显示 文件夹 user1 key…

MySQL 数据库中表数据莫名其妙没了的情况

我遇到过数据库中表数据没了的情况。 一开始还以为是遇见了bug。 其实是我自己的锅&#xff0c;忘记commit了。 我们来看一下案发现场。 DELIMITER $$ CREATE PROCEDURE insert_dept(IN START INT(10),IN max_num INT(10)) BEGIN SET autocommit 0; # xxxxxxxxxxxxxx…

数据库中表的加减法

通过集合运算可以得到记录的集合或者公共记录的集合。 一&#xff1a;加法&#xff1a;union 1、表的加法&#xff1a;union,并集&#xff0c;但是会去重&#xff0c;就是去重重复的记录。 select * from A union select * from B. 2、union集合运算要求有相同的列&#xff0c…

数据库中表和表自己本身关联

在查询数据的时候&#xff0c;我们经常通过与多张表的关联来取得我们想要的数据。 有一天我看到这样一个问题。 刚开始想了好久&#xff0c;工作中大多用到的是一张表和其他的表进行关联查询出来自己想要的数据。 想着用函数&#xff0c;有循环来实现&#xff0c;试了很多次都…

MYSQL数据库中表的进阶玩法——表分区

&#x1f50e;这里是MYSQL加油站 &#x1f44d;如果对你有帮助&#xff0c;给博主一个免费的点赞以示鼓励 欢迎各位&#x1f50e;点赞&#x1f44d;评论收藏⭐️ 什么是表分区? mysql数据库中的数据是以文件的形势存在磁盘上的&#xff0c;默认放在/mysql/data下面&#xff…

mysql中表怎么建立联系_数据库(三) 表与表建立联系-外键

1.理解表与表之间建立关系的必要性 比如我们建立了一张个人信息表,把所有人的信息都存在这张表中 这张表中有老师和他们所属的部门,并且不同的部门工作也是不同的 所有数据存放在一张表中的弊端 1.组织结构不清晰 2.浪费存储空间 3.扩展性差 针对这个问题我们可以将他们分成两张…

使用Visio 2010 画数据库中表与表的关系

1.在visio中新建数据库模型图 打开visio 2010,文件—>新建—>数据库—>数据库模型图。建立数据库模型图之后&#xff0c;菜单栏多出一个菜单项"数据库"。 看下图菜单栏多出了一个数据库项 2.依次画数据库建立的每张表、视图等 进入了画图状态&#xff0c…

DBGridEh的表中表设置

DBGridEh的表中表设置步骤 在进行数据呈现时&#xff0c;表中表的显示方式也是一种常用的主从表显示类型&#xff0c;DBGridEh控件在这方面的表现是相当优秀的&#xff0c;它不需要任何代码就可以实现该功能。 首先比较重要的是打开主表格控件(DBGridEh)的RowDetailPanel属性…

Hive 分桶表及作用

Hive 分桶表 一.概述分桶和分区的区别 &#xff1f;如何创建分桶表 &#xff1f;分桶表的作用 &#xff1f; 二. 补充&#xff1a;通用的 join 优化&#xff08;1&#xff09;空key过滤&#xff08;2&#xff09;空key转换 三. 分桶表的作用2.1 数据的采样2.2 提升查询效率&…

服!造成程序员脱发的两大原因竟然是……

-“不管怎么样&#xff0c;这个项目一定要在这个ddl前完成。” 作为程序员&#xff0c;我们特别痛恨PM根据主观判断就随便订ddl&#xff01;&#xff01;有时候&#xff0c;因为一个小小的问题我们要回头检查好久&#xff0c;因此也特别容易不小心错过ddl。 -“Andy&#xff…