我不知道这是一个bug,还是我不知道真实行为的 加特林节流装置 throttle
操作,但我不知道如何重现一个场景。
我希望在10分钟内每秒有15个请求的恒量。
我的设置如下。
setUp(scn.inject(constantConcurrentUsers(45) during(10 minutes)).protocols(httpProtocol)).throttle(
reachRps(15) in (1 seconds),
holdFor(10 minute))
我假设这里有45个可用用户(constantConcurrentUsers(45)
)来执行每秒15个请求(reachRps(15)
),我将在1秒内达到这个速度(in (1 seconds)
),我将保持这个速度10分钟(holdFor(10 minutes)
)
我试过用15个constantConcurrentUsers用户而不是45个,结果一样。
问题是:为什么我在结果中看到的最大并发请求量是13,而实际上每秒的平均请求量是更多?为什么我在结果中看到的最大并发请求量是13 而实际上每秒的平均请求量是5?
如何才能实现所述的方案?
正如在解释 公文:
你仍然必须在场景层面注入用户。节流试图确保在给定的场景及其注入情况(用户数量和持续时间)下的目标吞吐量。这是一个瓶颈,即一个上限。如果你没有提供足够的用户,你就不会达到节流。如果你的注入持续时间小于节流阀,当所有用户都完成后,你的模拟就会直接停止。如果你的注入持续时间比节流阀长,模拟将在节流阀结束时停止。