Mad*_*y M 1 load-testing gatling scala-gatling
我有一个 jmeter 脚本,可以在 20 分钟内增加 20 个用户(每分钟 1 个用户)并保持 30 分钟,然后每分钟减少 1 个用户。
我如何在加特林中实现这一目标?
我在加特林中尝试了以下设置,
SAAPIBase.scn_SA_Auth.inject(rampUsers(20) during (20 minutes)).protocols(httpConf)
).maxDuration(50 minutes)
Run Code Online (Sandbox Code Playgroud)
这会增加 20 名用户 20 分钟,并保持 30 分钟 20 名用户。但在那之后它突然下降到零。
我如何每分钟缓慢减少 1 个用户?
请注意您的模拟运行多长时间受到您正在运行的场景的严重影响 - 所有 gatling DSL 注入步骤控制用户何时开始,仅此而已。因此,如果您的场景运行时间很长或不可预测,则很难保证与您指定的内容完全相同。
在你的例子中
.inject(rampUsers(20) during (20 minutes)).protocols(httpConf)
).maxDuration(50 minutes)
Run Code Online (Sandbox Code Playgroud)
你在 20 分钟内均匀注入 20 个用户(所以每分钟一个)。如果确实在斜坡之后保持了 30 分钟,那么您的场景可能会循环,并且用户会被 maxDuration 语句阻止。
对于减速,您可以将注射更改为
.inject(
rampConcurrentUsers(1) to(20) during(20 minutes),
constantConcurrentUsers(20) during (30 minutes),
rampConcurrentUsers(20) to(1) during(20 minutes)
)
Run Code Online (Sandbox Code Playgroud)
这将在 20 分钟内为您提供相同的加速,然后将在其他人完成时继续注入用户以在接下来的 30 分钟内保持 20 个并发用户,然后在最后 20 分钟内逐渐减慢注入速度。但是,如果您的方案使用 .forever 之类的循环来保持运行,则这种下降将不起作用,因为在第一个命令中注入的用户将永远不会停止。
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |