菜单
开源

TimescaleDB

使用 TimescaleDB k6 扩展,您可以将 k6 指标存储在 TimescaleDB 中,并使用 SQL 和仪表盘分析性能结果。该扩展仓库包含两个 Grafana 仪表盘。

构建 k6 版本

要使用该扩展构建 k6 二进制文件,首先请确保您的机器上安装了 GoGit

然后,打开您的终端并运行以下命令:

bash
# Install xk6
go install go.k6.io/xk6/cmd/xk6@latest

# Build the k6 binary
xk6 build --with github.com/grafana/xk6-output-timescaledb

... [INFO] Build environment ready
... [INFO] Building k6
... [INFO] Build complete: ./k6

xk6 将在新 k6 二进制文件创建在本地文件夹中。

注意

要了解如何构建自定义 k6 版本,请查看 xk6

运行测试

检查 TimescaleDB 实例是否正在运行。复制数据库的 Postgres 连接字符串,该数据库将存储 k6 指标。

使用之前构建的 k6 二进制文件并运行测试,将 Postgres 连接字符串传递给 output 选项,如下所示:

bash
k6 run script.js -o timescaledb=postgresql://<postgresql_user_name>:<password>@<ip>:<port>/<database>

k6 运行测试脚本并将指标实时发送到 TimescaleDB 实例。现在您可以连接到 TimescaleDB 并查询 k6 指标

bash
k6=# SELECT metric,AVG (value) FROM samples GROUP BY metric;

选项 (Options)

以下是可以配置并传递给扩展的选项的完整列表:

名称
K6_TIMESCALEDB_PUSH_INTERVAL定义多久发送一次指标到 TimescaleDB。默认值为 1 秒 (1s)。

Grafana 仪表盘

该扩展仓库包含一个 docker-compose 设置,带有两个预构建的仪表盘,用于

  • 列出测试运行
  • 可视化测试运行的结果

TimescaleDB list test runs

TimescaleDB k6 results

阅读更多