JMeter监听器
JMeter 监听器
简介
JMeter 监听器是用于收集、查看和分析测试结果的重要组件,用于监控性能测试过程中的请求响应数据、断言结果、错误信息等,帮助用户评估应用程序的性能和功能。
常用的监听器
- View Results Tree
- Aggregate Report
- Backend Listener
View Results Tree
用于详细查看每个请求的响应数据、响应码、响应时间等信息,可查看每个请求的执行细节。
添加 View Results Tree:
测试计划 -> 线程组 -> (右键添加) 监听器 -> View Results Tree
如下图:
这一组件类似于抓包工具,可以看到 HTTP 请求的请求与响应数据,便于调试,包括请求头,请求体,响应头,响应体等。如下图:
Aggregate Report
用于生成聚合报告,包括各个请求的响应时间、吞吐量、错误率等统计数据,帮助用户全面了解性能测试结果。
添加 Aggregate Report:
测试计划 -> 线程组 -> (右键添加) 监听器 -> Aggregate Report
如下图:
各个参数说明:
- 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:每秒收到的千字节
Backend Listener
用于将测试结果发送到指定的后端系统,如 InfluxDB、Graphite 等,实现实时性能监控和结果存储并以图标形式展示各项指标。
添加 Backend Listener:
测试计划 -> 线程组 -> (右键添加) 监听器 -> Backend Listener
如下图:
相关参数配置:
-
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 监听器简介
- 常用的监听器的使用