15. 实时结果¶
从 JMeter 2.13 开始,您可以通过提供一个实现AbstractBackendListenerClient的类,使用可能使用任何后端(JDBC、JMS、Webservice……)的后端侦听器将实时结果发送到后端
。
JMeter 附带:
- 一个 GraphiteBackendListenerClient,它允许您将指标发送到 Graphite 后端。
此功能提供:- 实时结果
- 漂亮的指标图表
- 能够比较 2 个或更多负载测试
- 存储监控数据只要 JMeter 产生相同的后端
- …
- JMeter 3.2 中引入的 InfluxDBBackendListenerClient 允许您使用 UDP 或 HTTP 协议将指标发送到 InfluxDB 后端此功能提供:
- 实时结果
- 漂亮的指标图表
- 能够比较 2 个或更多负载测试
- 能够向图形添加注释
- 存储监控数据只要 JMeter 产生相同的后端
- …
- InfluxDBBackendListenerClient 的 InfluxDB 设置
- GraphiteBackendListenerClient 的 InfluxDB 设置
- 格拉法纳
- 石墨
15.1 公开的指标¶
15.1.1 线程/虚拟用户指标¶
线程指标如下:
- <rootMetricsPrefix>test.minAT
- 最小活动线程
- <rootMetricsPrefix>test.maxAT
- 最大活跃线程数
- <rootMetricsPrefix>test.meanAT
- 平均活跃线程
- <rootMetricsPrefix>test.startedT
- 已启动线程
- <rootMetricsPrefix>test.endedT
- 成品螺纹
15.1.2 响应时间指标¶
响应相关指标如下:
- <rootMetricsPrefix><samplerName>.ok.count
- 采样器名称的成功响应数
- <rootMetricsPrefix><samplerName>.h.count
- 服务器每秒点击次数,此指标累积 Sample Result 和 Sub 结果(如果使用 Transaction Controller,则应取消选中“Generate parent sampler”)
- <rootMetricsPrefix><samplerName>.ok.min
- 采样器名称成功响应的最短响应时间
- <rootMetricsPrefix><samplerName>.ok.max
- 采样器名称成功响应的最大响应时间
- <rootMetricsPrefix><samplerName>.ok.avg
- 采样器名称成功响应的平均响应时间。
- <rootMetricsPrefix><samplerName>.ok.pct<percentileValue>
- 为采样器名称的成功响应计算的百分位数。每个计算值都有一个指标。
- <rootMetricsPrefix><samplerName>.ko.count
- 采样器名称的失败响应数
- <rootMetricsPrefix><samplerName>.ko.min
- 采样器名称响应失败的最短响应时间
- <rootMetricsPrefix><samplerName>.ko.max
- 采样器名称失败响应的最大响应时间
- <rootMetricsPrefix><samplerName>.ko.avg
- 采样器名称失败响应的平均响应时间。
- <rootMetricsPrefix><samplerName>.ko.pct<percentileValue>
- 为采样器名称的失败响应计算的百分位数。每个计算值都有一个指标。
- <rootMetricsPrefix><samplerName>.a.count
- 采样器名称的响应数(ok.count 和 ko.count 的总和)
- <rootMetricsPrefix><samplerName>.sb.bytes
- 发送字节
- <rootMetricsPrefix><samplerName>.rb.bytes
- 接收字节
- <rootMetricsPrefix><samplerName>.a.min
- 采样器名称响应的最短响应时间(ok.count 和 ko.count 的最小值)
- <rootMetricsPrefix><samplerName>.a.max
- 采样器名称响应的最大响应时间(ok.count 和 ko.count 的最大值)
- <rootMetricsPrefix><samplerName>.a.avg
- 采样器名称响应的平均响应时间(ok.count 和 ko.count 的平均值)
- <rootMetricsPrefix><samplerName>.a.pct<percentileValue>
- 为采样器名称的响应计算的百分位数。每个计算值都有一个指标。(根据合格和不合格样品的总数计算)
Backend Listener上 的默认百分位数设置为“90;95;99”,即 3 个百分位数 90%、95% 和 99%。
Graphite 命名层次结构 使用 点(“.”)来分隔元素。这可能与十进制百分位值混淆。JMeter 转换任何此类值,用下划线 ("-") 替换点 (".")。例如,“ 99.9 ”变成“ 99_9 ”
默认情况下,JMeter 发送在 samplerName“ all ”下累积的所有采样器的指标。如果配置了后端侦听器 samplersList,则 JMeter 还会发送匹配样本名称的指标,除非summaryOnly=true
15.2 JMeter 配置¶
要让 JMeter 将指标发送到后端,请使用 InfluxDBBackendListenerClient 添加一个BackendListener 。
15.3 InfluxDB 配置¶
执行以下操作之一来存储后端侦听器发送的数据:
- 对于 InfluxDB 2 设置,创建一个jmeter 存储桶
- 对于 InfluxDB 1.x 设置,使用Influx CLI创建一个jmeter数据库
15.3.1 InfluxDBBackendListenerClient 的 InfluxDB 设置¶
InfluxDB 是一个开源、分布式、时序数据库,可以轻松存储指标。安装和配置非常简单,阅读本文了解更多InfluxDB 文档的详细信息。
InfluxDB 数据可以通过Grafana在浏览器中轻松查看。
15.3.2 InfluxDBBackendListenerClient 的 InfluxDB 2 设置¶
配置应指定influxdbToken参数,并在 influxdbUrl 中指定bucket和org作为查询参数。有关更多详细信息,请参阅InfluxDB v2 API。
如何在 InfluxDB UI 中检索所需信息: