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 配置

执行以下操作之一来存储后端侦听器发送的数据:

您还可以使用 HTTP API,即 curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"

15.3.1 InfluxDBBackendListenerClient 的 InfluxDB 设置

InfluxDB 是一个开源、分布式、时序数据库,可以轻松存储指标。安装和配置非常简单,阅读本文了解更多InfluxDB 文档的详细信息。
InfluxDB 数据可以通过Grafana在浏览器中轻松查看。

15.3.2 InfluxDBBackendListenerClient 的 InfluxDB 2 设置

配置应指定influxdbToken参数,并在 influxdbUrl 中指定bucketorg作为查询参数。有关更多详细信息,请参阅InfluxDB v2 API

如何在 InfluxDB UI 中检索所需信息:

InfluxDB 2 配置
InfluxDB 2 配置

15.4 Grafana 配置

安装 grafana
阅读文档以获取更多详细信息。添加数据源

这是您可以获得的仪表板类型:
Grafana 仪表板
Grafana 仪表板

15.5 石墨

HELP WELCOME 对于本节,请参阅贡献文档

Go to top