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

use*_*010 4 javascript load-testing performance-testing k6

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

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

Rag*_*nar 6

k6 现在实际上有这个功能,在 master 分支(https://github.com/loadimpact/k6/issues/211 was closed 5 days ago)——要么你可以下载并编译 master(go get github.com/loadimpact/k6如果你安装了 Go)或者你可以稍等一下,它将在下一个版本中发布。在我们发布新版本之前应该不会超过一周左右的时间。

rps可以通过在命令行上添加参数来使用 RPS 限制器功能,作为命令的选项runk6 run --rps 100 ...或作为options.rps

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

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