;客户;K6负载测试

k6洛基扩展负载测试

Grafana转k6是一种现代负载测试工具。它的脚本干净且易于使用API在本地或云中工作。它的配置使它灵活。

xk6-loki扩展允许向Loki实例推送日志和查询日志。它充当Loki客户机,模拟真实负载以测试Loki安装的可伸缩性、可靠性和性能。

在开始之前

k6是戈朗语。下载和安装围棋环境。

安装

xk6-loki是k6二进制的扩展。构建一个自定义的k6二进制文件,其中包含xk6-loki扩展。

  1. 安装xk6扩展打包机:

    安装Go .k6.io/xk6/cmd/xk6@latest
  2. 请查看grafana / xk6-loki存储库:

    Git克隆https://github.com/grafana/xk6-loki CD xk6-loki
  3. 使用扩展构建k6:

    使转k6

使用

使用自定义k6二进制文件的方式与非自定义k6二进制文件相同:

./k6运行test.js

. js是一个Javascript负载测试。请参阅转k6文档开始吧。

脚本API

定制的k6二进制文件提供了一个Javascript洛基模块。

你的Javascript负载测试导入模块:

Import Loki from 'k6/x/ Loki ';

这个模块的类有:

描述
配置 的配置客户端
客户端 客户端从洛基写入和读取日志

配置而且客户端必须在k6 init上下文中调用(参见测试生命周期)在默认函数之外,因此客户端只配置一次,并在所有VU迭代之间共享。

客户端类公开了以下实例方法:

方法 描述
push () 的快捷方式pushParameterized(5,800 *1024, 1024*1024)
pushParameterized(流,minSize, maxSize) 执行推送请求(POST /洛基/ api / v1 /推动
instantQuery(查询、限制) 执行即时查询(GET /洛基/ api / v1 /查询
客户端。rangeQuery(查询,持续时间,限制) 执行范围查询(得到/洛基/ api / v1 / query_range
client.labelsQuery(持续时间) 执行标签查询(GET /洛基/ api / v1 /标签
客户端。labelValuesQuery(标签、持续时间) 执行标签值查询(得到洛基/ api / v1 /标签/ <名称> /值
客户端。seriesQuery(匹配器、持续时间) 执行系列查询(GET /洛基/ api / v1 /系列

Javascript负载测试示例:

Import Loki from 'k6/x/ Loki ';Const timeout = 5000;// ms const conf = loki. conf。配置("http://localhost:3100", timeout); const client = loki.Client(conf); export default () => { client.pushParameterized(2, 512*1024, 1024*1024); };

grafana / xk6-loki对于完整的转k6 / x /洛基模块API引用。