InfluxDB
使用 InfluxDB 扩展,您可以将 k6 指标存储在 InfluxDB v2.0 中,并使用 Grafana 或其他工具分析您的性能结果。
构建 k6 版本
要使用此扩展构建 k6 二进制文件,首先请确保您的机器上已安装 Go 和 Git。
然后,打开您的终端并运行以下命令
# Install xk6
go install go.k6.io/xk6/cmd/xk6@latest
# Build the k6 binary
xk6 build --with github.com/grafana/xk6-output-influxdb
... [INFO] Build environment ready
... [INFO] Building k6
... [INFO] Build complete: ./k6
xk6 将在本地文件夹中创建新的 k6 二进制文件。
注意
要了解如何构建自定义 k6 版本的更多信息,请查看 xk6。
运行测试
检查用于存储 k6 指标的 InfluxDB 实例正在运行。
使用之前的 k6 二进制文件运行测试,并传递以下选项
K6_INFLUXDB_ORGANIZATION="<INFLUXDB-ORGANIZATION-NAME>" \
K6_INFLUXDB_BUCKET="<INFLUXDB-BUCKET-NAME>" \
K6_INFLUXDB_TOKEN="<INFLUXDB-TOKEN>" \
K6_INFLUXDB_ADDR="<INFLUXDB-HTTP-ADDRESS>" \
./k6 run script.js -o xk6-influxdb
k6 将运行测试脚本并将 k6 指标实时发送到 InfluxDB 实例。您现在可以选择桶来查询和可视化存储的 k6 指标,例如使用 InfluxDB Data Explorer。
选项
以下是可配置并传递给扩展的全部选项列表
环境变量 | 默认值 | 描述 |
---|---|---|
K6_INFLUXDB_ORGANIZATION | 您的 InfluxDB 组织名称。查看组织。 | |
K6_INFLUXDB_BUCKET | 用于存储 k6 指标数据的桶名称。管理桶。 | |
K6_INFLUXDB_TOKEN | 提供授权数据存储访问的 API 令牌。管理 API 令牌。 | |
K6_INFLUXDB_ADDR | https://:8086 | InfluxDB 实例的地址。 |
K6_INFLUXDB_PUSH_INTERVAL | 1s | 刷新 k6 指标的频率。 |
K6_INFLUXDB_CONCURRENT_WRITES | 4 | 刷新数据的并发请求数。当某个请求耗时超过预期(超过刷新间隔)时,这很有用。 |
K6_INFLUXDB_TAGS_AS_FIELDS | vu:int,iter:int,url | 一个逗号分隔的字符串,用于将 k6 指标设置为非索引字段(而不是标签)。可以使用 :type 指定一个可选类型,例如 vu:int 将使该字段成为整数。可能的字段类型有 int、bool、float 和 string(默认)。示例:vu:int,iter:int,url:string,event_time:int。 |
K6_INFLUXDB_INSECURE | false | 当设置为 true 时,将跳过 https 证书验证。 |
K6_INFLUXDB_PRECISION | 1ns | 时间戳精度。 |
K6_INFLUXDB_HTTP_PROXY | 为 InfluxDB 输出设置 HTTP 代理。 |
Grafana 仪表盘
您可以使用 Grafana 查询和可视化 InfluxDB 实例中的数据。相关说明可在 InfluxDB 和 Grafana 文档中找到。
您还可以构建自定义 Grafana 仪表盘,以您自己的方式可视化测试结果。
出于测试目的,influxdb 扩展仓库包含一个 docker-compose 设置,带有两个基础仪表盘。