加特林节气门未达到每秒配置的请求

时间:2020-05-26 07:43:41

标签: performance performance-testing gatling throttling scala-gatling

我不知道这是一个错误还是我不知道Gatling Throttling 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秒内达到此速度({{1} }),我将保持此速度10分钟(in (1 seconds)

我尝试了15个constantConcurrentUsers用户,而不是45个,并且结果相同。

问题是: 为什么我可以在结果中看到的最大并发请求数是13,为什么实际上平均每秒请求数却多少或少于5?

enter image description here

我如何实现所描述的方案?

1 个答案:

答案 0 :(得分:0)

official documentation中所述:

您仍然必须在方案级别注入用户。节流尝试 确保给定方案及其目标的目标吞吐量 注入配置文件(用户数和持续时间)。这是一个瓶颈, 即上限。如果您没有提供足够的用户,那么您将无法覆盖 油门。如果您的喷射持续时间少于节流阀,则您的 完成所有用户操作后,模拟将停止。如果你的 喷射持续的时间比节气门更长,模拟将在 油门的尽头。