恒定负载(每秒 x 个新请求)
Constant load (x new requests per second)
有没有办法配置具有恒定负载的性能测试用例(例如,每秒 3 个新请求,持续 1 分钟)?
其他负载测试库具有此功能来设置请求率(例如 Artillery.io、Vegeta)。 k6
有办法设置VUs
,但是VU在上一次迭代完成后才发起新的请求。
k6 实际上现在有这个功能,在 master 分支中(https://github.com/loadimpact/k6/issues/211 5 天前关闭) - 你可以下载并编译 master(go get github.com/loadimpact/k6
如果你安装了 Go)或者你可以稍等一下,它将在下一个版本中发布。我们发布新版本应该不会超过一周左右。
您可以通过添加 rps
参数来使用 RPS 限制器功能,在命令行上作为 run
命令的选项:k6 run --rps 100 ...
或作为 options.rps
:
export let options = {
vus: 50,
rps: 100
}
请注意,此功能仅限制 k6 将产生的最大 RPS 速率。如果您使用的 VU 线程太少,您将无法达到所需的 RPS 速率。您需要使用多少 VU 取决于交易完成的速度。反过来,这取决于网络延迟和服务器处理时间。一般来说,使用 100-200 VU 应该可以涵盖大多数常见情况。
从 k6 v0.27 开始,现在原生支持恒定到达率,也就是。恒定的请求率。在下面的文章中,我已经解释了如何在 k6 中使用新场景 API:
生成恒定请求率
How to generate a constant request rate in k6 with the new scenarios API?
有没有办法配置具有恒定负载的性能测试用例(例如,每秒 3 个新请求,持续 1 分钟)?
其他负载测试库具有此功能来设置请求率(例如 Artillery.io、Vegeta)。 k6
有办法设置VUs
,但是VU在上一次迭代完成后才发起新的请求。
k6 实际上现在有这个功能,在 master 分支中(https://github.com/loadimpact/k6/issues/211 5 天前关闭) - 你可以下载并编译 master(go get github.com/loadimpact/k6
如果你安装了 Go)或者你可以稍等一下,它将在下一个版本中发布。我们发布新版本应该不会超过一周左右。
您可以通过添加 rps
参数来使用 RPS 限制器功能,在命令行上作为 run
命令的选项:k6 run --rps 100 ...
或作为 options.rps
:
export let options = {
vus: 50,
rps: 100
}
请注意,此功能仅限制 k6 将产生的最大 RPS 速率。如果您使用的 VU 线程太少,您将无法达到所需的 RPS 速率。您需要使用多少 VU 取决于交易完成的速度。反过来,这取决于网络延迟和服务器处理时间。一般来说,使用 100-200 VU 应该可以涵盖大多数常见情况。
从 k6 v0.27 开始,现在原生支持恒定到达率,也就是。恒定的请求率。在下面的文章中,我已经解释了如何在 k6 中使用新场景 API:
生成恒定请求率How to generate a constant request rate in k6 with the new scenarios API?