Jmeter可视化HTML报告详解

一、生成html可视化压测报告

Linux环境

# 进入到Jmeter bin目录下运行
./jmeter.sh -n -t xx.jmx -l xx.jtl -e -o xx/dirname

Mac环境

# 进入到Jmeter bin目录下运行
./jmeter -n -t xx.jmx -l xx.jtl -e -o xx/dirname

Windows环境

# 进入到Jmeter bin目录下运行
jmeter.bat -n -t xx.jmx -l xx.jtl -e -o xx/dirname


# 示例:
jmeter.bat -n -t D:\桌面\jmeter_code\本地项目1.jmx -l D:\桌面\jmeter_code\res.jtl -e -o D:\桌面\jmeter_code\report

运行结果: 

参数说明

  • -n 非gui方式运行jmeter

  • -t :jmx 脚本路径

  • -l :result.jtl 运行结果保存路径,注意:.jtl 文件名不能重复,文件夹需要存在

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

  • -o :用于存放 HTML 报告的目录,文件夹需要存在

二、HTML测试报告解读

将生成报告的整个目录下载到本地,打开 index.html。报告分为3个部分:

  1. Dashboard:提供了整体的概览信息,显示了关于测试结果的总体摘要。
  2. Charts:提供了关于性能指标的图表,如吞吐量、响应时间、活跃用户数等。
  3. Custom Graphs:允许根据自己的需求创建和显示自定义的图表。

2.1、Dashboard介绍(整体概要)

我将“Dashboard”分为3部分:基本报告、

1、基本报告
  • 基本报告主要分为3个部分:基本信息、用户满意度和请求通过率。

【基本信息】

测试报告的基本信息,包括开始时间、结束时间和报告的源文件。
- Source file:jtl文件名
- Start Time :压测开始时间
- End Time :压测结束时间
- Filter for display:过滤器
- Lable:sampler采样器名称

用户满意度

jmeter根据每个业务的实际响应时间来判断。

update 和 delete 业务满意度达到98.8%,insert 和 select 业务满意度达到100%,

整体满意度达到99.9%,基本符合预期。


从上述图表来看,用户容忍响应时间为500ms,最大容忍1500ms

换一种角度来理解:

  • 100%:全部用户都很满意性能。

  • 99.99%:绝大部分用户很满意性能,只有少量几个用户不满意。

  • 95%:95%的用户很满意,但是存在5%的用户不满意,是否符合需求根据每个公司的要求

【请求通过率 】

这部分报告主要将请求成功和失败的结果做了饼状图表比例(FAIL:失败;PASS:成功)。

2、统计信息
  • 统计信息主要分为5个部分:请求信息、执行情况、响应时间、吞吐量和网络,重点关注错误率、95%响应时间、吞吐量。

参数解释: 

Label   # 每个请求的名称

Samples # 请求总次数


FAIL    # 请求失败的次数
Error%  # 请求失败率(重点关注指标)

Average   # 平均响应时间(重点关注指标)
Min       # 最小响应时间


Max       # 最大响应时间
Median    # 所有请求按照响应时间从小到大排序后,处于中间位置的响应时间
90th pct  # 90% 的请求响应时间低于或等于该数值
95th pct  # 95% 的请求响应时间低于或等于该数值
99th pct  # 99% 的请求响应时间低于或等于该数值

Transactions/s  # 每秒事务数/吞吐量(重点关注指标)

Received  # 接收的数据量
Sent      # 发送的数据量

3、错误统计
  • 错误统计主要分为2个部分:错误统计、前5错误信息

错误统计

Type of error(错误类型)    # 统计各种错误类型,例如连接超时、响应码错误或其它与请求执行相关的错误
Number of errors(错误数量)    # 在整个测试期间发生的特定类型错误的总数
% in errors(错误比例)      # 在整个测试期间发生的特定类型错误占所有错误的百分比
% in all samples(所有样本中的比例)    # 特定类型错误占所有请求样本的百分比

前5错误信息

Sample(采样器)    -- 请求的名称
Samples(样本数)   -- 请求的总数
Errors(错误数)    -- 特定采样器相关的错误数
Error(错误信息)   -- 特定采样器的错误信息。例如错误消息、错误类型等。

2.2、Charts(性能指标):

主要为3类:时间走势、吞吐量、响应时间

1、按时间性能走势
  • 按时间性能走势主要分为6个部分:响应时间、响应时间百分位、活动线程数、字节吞吐量、等待时间和连接时间

响应时间
  • 随时间推移的平均响应时间的变化情况,当有多个个业务时,使用不同颜色的业务线。

响应时间百分位
  • 展示了系统返回的响应时间在不同百分位数上的分布情况,该信息有助于确定系统在给定时间段内的性能状况。

活动线程数

展示系统同时处理的并发请求数,可用于监视系统的负载情况和并发性能。

字节吞吐量
  • 展示在不同时间段内发送和接收的字节数,可用于观察系统的数据传输性能。

等待时间
  • 展示请求在系统中等待的时间,包括网络延迟等因素。

连接时间
  • 展示请求在与服务器建立连接时所花费的时间。

2、吞吐量走势
  • 吞吐量走势主要分为6个部分:每秒请求数、每秒响应码数、每秒事务数、总每秒事务数、响应时间与请求的关系、等待时间与请求的关系。

每秒请求数

系统每秒针对服务器的请求次数,每个请求可能包含多个样本。

每秒响应码数

系统每秒接收到的成功和失败响应的数量。

每秒事务数

显示每秒钟完成的事务数量。一个事务可以包含多个采样器,并且表示一个用户的完整操作。

总每秒事务数

测试期间完成的总事务数量。

响应时间与请求的关系

显示请求的响应时间分布情况。主要提供了不同请求所花费的平均响应时间,以便比较请求之间的性能差异。

等待时间与请求的关系

显示请求的等待时间分布情况。主要提供了不同请求的平均等待时间,即请求在系统中等待的时间。

3、响应时间走势
  • 响应时间走势主要分为4个部分:响应时间百分位数、响应时间概述、时间 vs 线程数、响应时间分布。

响应时间百分位数

提供从 0% ~ 100% 百分位的响应时间,例如:

  • 10%:表示 10% 请求响应时间低于或等于该数值(按10%最大值算)

  • 99%:表示 99% 请求响应时间低于或等于该数值(按99%最大值算)

响应时间概述

分别展示了响应时间小于500ms、大于1500ms、500~1500ms之间和响应错误的请求数(纵坐标就是请求数)

时间 vs 线程数

展示每个业务的活动线程数的响应时间(横轴:线程数,纵轴:响应时间)。

响应时间分布

展示每个业务的请求数与响应时间的分布(横轴:响应时间,纵轴:请求数)。

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值