Gatling:随时保持固定数量的用户/请求

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

如何为场景保留固定数量的活动并发用户/请求。

我有一个独特的测试问题,我需要在给定的时间段(如10分钟或30分钟或1小时)对固定数量的请求进行服务性能测试。

我不是在寻找第二件事,我正在寻找的是我们从N个请求开始,并且当N个请求中的任何一个请求完成时,我们再添加一个,这样在任何给定时刻我们只有N个并发请求。

我尝试的东西是rampUsers(100) over 10 seconds但我看到的有时在给定的实例中有超过50个用户。

constantUsersPerSec(20) during (1 minute)有时还会将请求数量设置为50以上。

atOnceUsers(20)似乎有关系,但我没有看到任何方法让它在给定的秒数内运行,并在之前的请求完成时添加更多请求。

提前谢谢社区,期待您的方向。

gatling scala-gatling
2个回答
1
投票

使用Gatling 3.0支持的Closed Work Load Model注入。在您的情况下,要模拟和维护一分钟的20个活动用户/请求,您可以使用注入,如,

Script.<Controller>.<Scenario>.inject(constantConcurrentUsers(20) during (60 seconds))

0
投票

有一个限制机制(https://gatling.io/docs/3.0/general/simulation_setup/#throttling)允许您设置最大请求数,但您必须记住,用户被独立注入模拟,您必须注入足够的用户来产生最大数量的请求,而不会结束低于req / s。此外,将被注入但由于限制而无法发送请求的用户将在队列中等待他们转向。在油门结束后可能会导致巨大负载或可能会延长模拟时间,因此节流时间长于喷射时间总是更好,并将maxDuration()选项添加到模拟设置中。

您还应该记住,受限制的模拟远非用户行为的自然方式。在打开页面或进行任何操作之前,他们永远不会等待其他用户完成,因此在现实生活中,您每秒最终会得到可变数量的请求。

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