目录

  • Jmeter 命令行压测 & 生成 HTML 测试报告
  • Jenkins 配置

Jmeter 命令行压测 & 生成 HTML 测试报告

通常 Jmeter 的 GUI 模式仅用于调试,在实际的压测项目中,为了让压测机有更好的性能,多用 Jmeter 命令行来进行压测。

官方:Jmeter 最佳实践

同时,JMeter 也支持生成 HTML 测试报告, 以便从测试计划中获得图表和统计信息。

jemeter 模拟redis压测 jmeter命令行压测_测试报告

以上定义的文件路径可以是相对路径,也可以是绝对路径。

使用案例:

步骤 1:jmeter -n -t test.jmx -l result.jtl -e -o ./report

  • 执行 test.jmx 文件。
  • 在当前目录下生成 result.jtl 测试结果数据。
  • 在当前目录下生成 report 目录并存放生成的 HTML 测试报告。

如下图所示,成功执行并生成报告:

jemeter 模拟redis压测 jmeter命令行压测_测试报告_02

注意事项:定义的测试结果数据(.jtl 文件)及报告存放目录需不存在或为空,如果在执行命令时 .jtl 文件和 HTML 报告已存在,则必须先删除,否则在运行命令时就会报错。如下图所示:

jemeter 模拟redis压测 jmeter命令行压测_测试报告_03

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_04

步骤 2:打开报告目录下的 index.html 查看执行结果报告:

jemeter 模拟redis压测 jmeter命令行压测_HTML_05

可以看到页面左侧有三个菜单:

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_06

  • Dashboard(仪表盘):测试结果汇总。
  • Charts(图表):详细的性能测试图表。包括 Over Time(时间变化)、Throughput(吞吐量)、Response Times(响应时间)
  • Customs Grahps(自定义图表)

以下介绍 Dashboard 参数含义

Test and Report informations

jemeter 模拟redis压测 jmeter命令行压测_压测_07

  • Source file:生成报告的源文件
  • Start Time:开始时间
  • End Time:结束时间

APDEX(应用性能指标)

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_08

  • 计算每笔交易 APDEX 的容忍和满足阈值基于可配置的值。范围在 0-1 之间:1 表示达到所有用户均满意。
  • T(Toleration threshold):容忍或满意阈值。
  • F(Frustration threshold):失败阈值。

Requests Summary(请求总结)

jemeter 模拟redis压测 jmeter命令行压测_HTML_09

成功与失败的请求占比,KO 指失败率,OK 指成功率。

Statistics、Errors、Top 5 Errors by sampler

具体的测试结果数据统计,可检查哪些脚本执行失败。

jemeter 模拟redis压测 jmeter命令行压测_HTML_10

Jenkins 配置

1)构建触发器

选择定时任务:如下图所示为每 5 分钟执行该项目

jemeter 模拟redis压测 jmeter命令行压测_测试报告_11

2)构建命令

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_12

3)构建后操作

Publish HTML reports:构造后的报告结果路径

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_13

Editable Email Notification:构建后的报告结果邮件配置

选择右下角 Advanced Settings,添加发送邮件的时机和对象:

jemeter 模拟redis压测 jmeter命令行压测_压测_14

4)构建示例

jemeter 模拟redis压测 jmeter命令行压测_jemeter 模拟redis压测_15