【问题标题】:Gatling throttle is not reaching the configured requests per secondGatling 油门未达到每秒配置的请求数
【发布时间】:2020-09-12 22:50:11
【问题描述】:

我不知道这是一个错误还是我不知道Gatling Throttlingthrottle操作的真实行为但我不知道如何重现一个场景。

我希望在 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,为什么实际上每秒的平均请求数或多或少是 5?

我怎样才能实现所描述的场景?

【问题讨论】:

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


    【解决方案1】:

    official documentation中所述:

    您仍然需要在场景级别注入用户。节流尝试 确保在给定场景和它们的情况下达到目标吞吐量 注入配置文件(用户数量和持续时间)。这是一个瓶颈, 即上限。如果您没有提供足够的用户,您将无法到达 油门。如果您的喷射持续时间少于油门,您的 当所有用户完成时,模拟将简单地停止。如果你的 喷射持续时间比油门长,模拟将停止 油门结束。

    【讨论】:

    • 我不明白你的意思,因为我实际上是在 scn.inject(constantConcurrentUsers(45) 中注入用户。同样,我尝试了 15 和 45...
    • throttle 设置上限。产生足够的负载以达到此限制是您的工作。如果你觉得你应该达到它却无法达到,这可能意味着你遇到了另一个限制:注入器机器上的 CPU 或带宽规格不佳、防病毒、被测系统无法应对负载、反-DDos 保护...
    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    相关资源
    最近更新 更多