Gattle 性能或负载测试 - 如何配置模拟以缓慢加速并在峰值负载上保持 X 时间

问题描述 投票:0回答:1

如何在 Java 中配置模拟,使其缓慢地将请求提升至峰值,然后保持峰值 X 小时?

我们的 API 服务有自动扩展策略,因此需要缓慢增加请求,以使其在 QA 环境中扩展。

目前,我使用了 2 种类型的模拟(rampUsersstressPeakUsers)。我正在尝试将两者结合起来,我该怎么做?

        setUp(
            productServiceScn.createProduct.injectOpen(rampUsers(81900).during(7200)).protocols(http.product)
        );

        setUp(
            productServiceScn.createProduct.injectOpen(stressPeakUsers(81900).during(7200)).protocols(http.product)
        );  

我想做这样的事情:

performance-testing load-testing gatling stress-testing scala-gatling
1个回答
0
投票

根据您的需要,我建议您使用封闭工作负载模型(用户控制),并带有示例代码示例(我假设您不需要限制)

我下面的代码是Scala,你必须自己将其转换为Java

.inject(
           rampConcurrentUsers(1).to(YourDesireUser).during(UserRampup),
           constantConcurrentUsers(YourDesireUser).during(SteadyLength),
           rampConcurrentUsers(YourDesireUser).to(0).during(UserRampdown)
       )

在此块中,您将增加并发用户数,建议将 YourDesireUser 与 UserRampup 相匹配,以使注入速率为 1 用户/秒。请注意,每个发起的用户都会立即发送请求

然后,constantConcurrentUsers 会将它们保持在您想要的 SteadyLength。

最后减速,建议达到 1 用户/秒的速率,以便优雅地停止用户。

© www.soinside.com 2019 - 2024. All rights reserved.