恒定负载(每秒x个新请求)

时间:2017-12-19 11:52:51

标签: javascript performance-testing load-testing k6

有没有办法配置一个具有恒定负载的性能测试用例(例如,1分钟内每秒3个新请求)?

其他负载测试库具有此功能来设置请求率(例如Artillery.io,Vegeta)。 k6有办法设置VUs,但VU在上一次迭代完成之前不会发出新请求。

2 个答案:

答案 0 :(得分:4)

k6现在实际上已经有了这个功能,在主分支中(https://github.com/loadimpact/k6/issues/211在5天前关闭了) - 你可以下载并编译master(go get github.com/loadimpact/k6如果你已经安装了Go)或者你可以等一下,它将在下一个版本中。在我们发布新版本之前,不应该花费超过一周的时间。

您可以通过在命令行中添加rps参数作为run命令的选项来使用RPS限制器功能:k6 run --rps 100 ...options.rps:< / p>

export let options = { vus: 50, rps: 100 }

请注意,此功能仅限制k6将产生的最大RPS速率。如果使用的VU线程太少,则无法达到所需的RPS速率。您需要使用多少个VU取决于交易完成的速度。反过来,这取决于网络延迟和服务器处理时间。一般来说,使用100-200 VU应该涵盖最常见的情况。

答案 1 :(得分:0)

从k6 v0.27开始,现在已经对恒定到达率(即aka)提供了本机支持。恒定的请求率。在以下文章中,我解释了如何使用新的场景API在k6中生成恒定的请求速率:

How to generate a constant request rate in k6 with the new scenarios API?