问题描述
我想针对以下情况进行性能测试: 每10秒100个用户/秒,每30秒峰值500个用户/秒
我正在通过节流来实现这一目标
scn.inject(constantUserPersecond(100) during (10 minutes))
.throttle(reachRps(500) in (30 seconds),holdFor(1 sec)
)
我没有得到预期的输出。 根据我的理解,我应该每30秒在图形中获得20个峰值。 我是正确的还是还有其他方法可以实现这一目标?
请帮助,我是加特林的新手
解决方法
我正在通过节流来实现这一目标
您没有正确阅读documentation。
您仍然必须在方案级别注入用户。节流尝试使用给定方案及其注入配置文件(用户数和持续时间)来确保目标吞吐量。这是一个瓶颈,即上限。如果您没有提供足够的用户,那么您将无法达到目标。如果您的喷射持续时间少于节流阀,则在所有用户完成后,模拟将简单地停止。如果您的喷射持续时间超过节气门,则模拟将在节气门末端停止。
您必须配置适当的喷射曲线(并且可能不使用节流)。
您的测试产生的吞吐量取决于:
- 注射曲线=>
- 您的方案中的请求数
- 请求之间的暂停
所有这些都是您只能根据自己的用例弄清楚的事情。
,通过关注解决了它
SetUp(scn.inject(constantUserPersecond(100)期间(600秒))), scn2.inject(nothingFor(10秒),splitUsers(500 * 20))到atOnceUserd(500)分开(通过30秒)))
要求是: 100个用户/秒,持续10分钟 峰值为500个用户/ 30秒