Skip to content

JMeter监听器

JMeter 监听器

简介

JMeter 监听器是用于收集、查看和分析测试结果的重要组件,用于监控性能测试过程中的请求响应数据、断言结果、错误信息等,帮助用户评估应用程序的性能和功能。

常用的监听器

  • View Results Tree
  • Aggregate Report
  • Backend Listener

View Results Tree

用于详细查看每个请求的响应数据、响应码、响应时间等信息,可查看每个请求的执行细节。

添加 View Results Tree

测试计划 -> 线程组 -> (右键添加) 监听器 -> View Results Tree

如下图:

alt text

这一组件类似于抓包工具,可以看到 HTTP 请求的请求与响应数据,便于调试,包括请求头,请求体,响应头,响应体等。如下图:

alt text

Aggregate Report

用于生成聚合报告,包括各个请求的响应时间、吞吐量、错误率等统计数据,帮助用户全面了解性能测试结果。

添加 Aggregate Report

测试计划 -> 线程组 -> (右键添加) 监听器 -> Aggregate Report

如下图:

alt text

各个参数说明:

  • Label:取样器别名,如果勾选 Include group name,则会添加线程组的名称作为前缀
  • Samples:取样器运行次数
  • Average:请求(事务)的平均响应时间
  • Median:中位数
  • 90% Line:90%用户响应时间
  • 95% Line:90%用户响应时间
  • 99% Line:90%用户响应时间
  • Min:最小响应时间
  • Max:最大响应时间
  • Error:错误率
  • Throughput:吞吐率
  • Received KB/sec:每秒收到的千字节
  • Sent KB/sec:每秒收到的千字节

alt text

Backend Listener

用于将测试结果发送到指定的后端系统,如 InfluxDB、Graphite 等,实现实时性能监控和结果存储并以图标形式展示各项指标。

添加 Backend Listener

测试计划 -> 线程组 -> (右键添加) 监听器 -> Backend Listener

如下图:

alt text

相关参数配置

  • Backend Listener implementation:BackendListenerClient 类的实现,Jmeter 默认提供如下两种实现。

    • org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient:Graphite 作为存储。
    • org.apache.jmeter.visualizers.backend.graphite.InfluxdbBackendListenerClient:InfluxDB 作为存储。
    • 注:后续只对 InfluxdbBackendListenerClient 进行介绍。
  • Async Queue size:异步队列大小 队列值包含异步处理时的度量标准。除非有一些特定的性能问题,否则最好不要改动默认的 5000。

下面对 InfluxdbBackendListenerClient 的配置参数进行介绍:

  • influxdbMetricsSender:org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender
  • influxdbUrl:influx 数据库的 url。example : http://influxHost:8086/write?db=jmeter
  • application:被测试的应用名称。此值也作为名为“application”的标记存储在“events”中。
  • measurement:使用默认的”jmeter“即可。
  • summaryOnly:为 ture 的情况下,只推送一个集合结果;为 flase 的情况下,推送每个请求元件的结果,以及集合结果。
  • samplersRegex:正则表达式将与样本名称匹配并发送到后端。默认匹配所有。
  • percentiles:要发送到后端的百分位数,多个值已分割。
  • testTitle:测试名称。默认的设置为 Test name。该值作为名为“text”的字段存储在“事件”度量中。 JMeter 在测试的开始和结束时自动生成一个注释,其值以'started'和'ended'结尾。
  • eventTags:自定义标签。

总结

  • JMeter 监听器简介
  • 常用的监听器的使用