我正在使用下面的gatling3代码测试我的API
setUp(scn.inject(constantUsersPerSec(300) during (10 minutes))).throttle(
reachRps(300) in (10 seconds),
holdFor(5 minutes),
reachRps(500) in (10 seconds),
holdFor(5 minutes)
).protocols(httpProtocol)
我期待的是在前5分钟,加特林每秒发送300个请求,在接下来的5分钟内,加特林每秒发送500个请求。然而,测试报告显示,gatling在所有10分钟内每秒发送300个请求。
为什么会这样?
我认为图中显示的周期是测试的初始阶段,从12:31到12:21到达300 rps。之后,加特林将持续5分钟,然后再以10秒的速度进行500转。你等了10s + 5分+ 10s + 5min?
你想要做的是类似的事情:
setUp(scn.inject(constantUsersPerSec(500) during (10 minutes))).throttle(
reachRps(300) in (10 seconds),
holdFor(5 minutes),
reachRps(500) in (10 seconds),
holdFor(5 minutes)
).protocols(httpProtocol)
油门将是你的测试的上限,所以如果你有每秒500的恒定用户,但是将它限制为300,它将被限制为300,但是一旦你将油门增加到500,你应该看到rps达到这个门槛,因为constantUsersPerSec(500)
为你提供了足够的流量来达到这一点。