Jmeter - 生成Html报告

时间:2022-11-02 13:53:26

同步更新至个人博客:https://njlife.top/2019/07/12/Jmeter-%E7%94%9F%E6%88%90Html%E6%8A%A5%E5%91%8A/

Jmeter GUI提供的功能比较有限,比如要生成Html形式报告 - Jmeter Dashboard,则需要用命令行。通常情况下我们会用GUI进行配置和调试,然后通过命令行(非GUI模式)执行,同时命令行也方便与其他框架/应用进行集成,实现测试的自动化等。

Dashboard生成

Dashboard生成器是Jmeter的一个扩展模块,默认的行为就是读取CSV/JTL文件生成包含图表的html文件。该模块可以在测试执行结束后或者按需进行报告的生成。

用已有文件生成报告

如果已经执行过测试,并有jtl文件,那么可以直接基于该文件生成html报告。

# 生成jtl报告
jmeter -n -t xxx.jmx -l xxx.jtl
# -n: 以NON-GUI形式执行
# -t: jmx脚本文件路径
# -l: 目标jtl文件路径

Jmeter - 生成Html报告

jmeter -g xxx.jtl -o folder
# -g: 指定jtl路径
# -o: 输出的html存放文件夹路径(注意:文件夹要么为空,要么不存在)

Jmeter - 生成Html报告

无文件生成报告

如果没有生成jtl文件,可以使用下面命令:

jmeter -n -t xxx.jmx -l xxx.jtl -e -o folder
# -n:以NON-GUI形式运行Jmeter 
# -t:jmx脚本路径 
# -l:jtl运行结果保存路径(.jtl),此文件必须不存在 
# -e:在脚本运行结束后生成html报告 
# -o:用于存放html报告的目录
生成结果

Jmeter - 生成Html报告

Jmeter - 生成Html报告

Jmeter Dashboard详解

结果面板主要分为Dashboard和Charts两部分。Dashboard对信息进行汇总展示,Charts展示更多详细指标数据。

Dashboard
Test and Report information

测试报告信息,包含源文件,开始时间,结束时间等基本信息。

APDEX

Application Performance Index, 应用性能指数。

性能指数,Apdex(Application Performance Index) 是一个国际通用标准,Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。

满意度结果被量化为一个 0 到 1之间的数值即 “Apdex 指数”,0 代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex 把这个数值与用户满意程度细化对应,如下图所示,对于应用性能的 Apdex 评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。

Jmeter - 生成Html报告

Requests Summary

请求概览信息,展示请求成功(OK)/失败(KO)占比。直观反应请求状况。

Statistics

每个事务的所有指标的摘要,包含三个中位数(可配置)。

Jmeter - 生成Html报告

Errors

所有错误的再要信息,以及其在请求中的比例。

Jmeter - 生成Html报告

Top 5 Errors by sampler

每个样例错误最多的钱5个。

Jmeter - 生成Html报告

Charts

用图表展示测试结果数据

Overtime
  • Response Times Over Time

运行期间的响应时间变化趋势图。可以通过看测试期间的响应时间变化推断应用的性能拐点。

Jmeter - 生成Html报告

  • Response Time Percentiles Over Time (successful responses)

成功请求响应时间百分比分布图。

Jmeter - 生成Html报告

  • Active Threads Over Time

运行期间线程数量的变化,如果有多个线程组, 会根据线程组名字进行展示。

Jmeter - 生成Html报告

  • Bytes Throughput Over Time

运行期间收发字节数变化,所有线程组会一起展示。

Jmeter - 生成Html报告

  • Latenciew Over Time

运行期间响应延时变化。

Jmeter - 生成Html报告

  • Connect Time Over Time

运行期间连接服务器时间变化。

Jmeter - 生成Html报告

Throughput
  • Transactions Per Second

运行期间每秒事务数变化。

Jmeter - 生成Html报告

  • Total Transactions Per Second

运行期间每秒总事务数变化。包含成功和失败的。

Jmeter - 生成Html报告

Response Times
  • Response Time Percentiles

响应时间百分比分布图。

Jmeter - 生成Html报告

  • Response Time Overview

响应时间概览。

Jmeter - 生成Html报告

  • Time Vs Threads

平均响应时间与线程数对比。

Jmeter - 生成Html报告

终于完了。。。

上面只列举出了一些常用的结果指标,如果要看更多完整的指标类型,请参考官方文档:https://jmeter.apache.org/usermanual/generating-dashboard.html