提问人:Maxim Vershinin 提问时间:11/18/2023 更新时间:11/24/2023 访问量:22
加特林性能或负载测试 - 如何配置模拟以缓慢上升并在峰值负载上保持 X 时间
Gatling Performance or Load Test - How to configure a simulation to ramp up slowly and hold X amount of time on the peak load
问:
如何在 Java 中配置模拟,使其缓慢地将请求提升到峰值,然后在峰值上保持 X 小时?
我们的 API 服务具有自动缩放策略,因此它需要缓慢增加请求才能使其在 QA 环境中扩展。
目前,我使用了 2 种类型的模拟(rampUsers 或 stressPeakUsers)。我试图将两者结合起来,我该怎么做?
setUp(
productServiceScn.createProduct.injectOpen(rampUsers(81900).during(7200)).protocols(http.product)
);
或
setUp(
productServiceScn.createProduct.injectOpen(stressPeakUsers(81900).during(7200)).protocols(http.product)
);
答:
1赞
TriNguyen
11/24/2023
#1
根据您的需要,我建议您使用封闭式工作负载模型(用户控制)和示例代码示例(我假设您不需要限制)
我下面的代码是 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 个用户/秒的速率,以便优雅地停止用户。
评论
rampUsersPerSec
constantUsersPerSec