蝗虫负载测试 - 将孵化率从 1 秒更改为 20 秒? (每 20 秒 1 只蝗虫)

Posted

技术标签:

【中文标题】蝗虫负载测试 - 将孵化率从 1 秒更改为 20 秒? (每 20 秒 1 只蝗虫)【英文标题】:Locust load testing - Change hatch rate from 1 second to say 20 seconds? (1 locust every 20 seconds) 【发布时间】:2021-07-14 12:16:48 【问题描述】:

我正在使用 locust 进行一些负载测试,但我似乎无法弄清楚如何将 Hatch Rate 更改为较慢的加速率。 每秒 1 只蝗虫仍然太快,所以有没有办法将其更改为类似于 每 20 秒 1 只蝗虫

我尝试在 on_start 方法中使用 gevent.sleep(19) 并在 UI 中将孵化率设置为每秒 1 只蝗虫,但 这只孵化每只蝗虫的间隔只有 1 秒 然后每只孵化的蝗虫睡 19 秒(它们之间仍然相隔 1 秒)。

有没有办法强制在运行时孵化的每个蝗虫在下一个蝗虫执行前等待 20 秒? (例如第一个蝗虫孵化并运行on_start方法,下一个蝗虫等待19秒然后运行on_start方法,下一个蝗虫再等待19秒然后运行on_start方法。)

【问题讨论】:

【参考方案1】:

孵化率/加速参数接受浮点值。使用 0.05 的孵化率每 20 秒生成一个用户。

【讨论】:

是的,谢谢@Cyber​​wiz,这大大减慢了每 30 秒 1 只蝗虫的速度。如果您的测试文件中有 2 个用户类,而您只希望其中一个用户类具有此斜率,该怎么办?可以通过测试文件处理/控制斜坡率吗? 是的,您可以在代码中控制孵化率。这可以通过负载形状实现。 docs.locust.io/en/stable/generating-custom-load-shape.html 但是,如果您有两个不同的用户类,您可能不希望将它们一起使用,除非您可以使用 weight 来定义它们之间可接受的设置比率(例如,每 8 个用户 2 对应 2 个用户)。如果权重不适合您,则需要单独的 Locust 文件。

以上是关于蝗虫负载测试 - 将孵化率从 1 秒更改为 20 秒? (每 20 秒 1 只蝗虫)的主要内容,如果未能解决你的问题,请参考以下文章

带有文件的蝗虫测试有效负载

蝗虫负载测试陷入无限循环

将 Javascript 计数器从秒更改为毫秒

Locust性能测试1-环境准备与基本使用

locust性能测试安装

如何解释蝗虫响应时间