加特林每秒不发送指定数量的请求

时间:2019-03-20 01:48:01

标签: performance gatling

我正在使用以下 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 个请求。但是测试报告显示,加特林机在整个10分钟内每秒发送 300 个请求。

enter image description here

为什么会这样?

2 个答案:

答案 0 :(得分:0)

我认为您图表中显示的时间段是测试的初始时间段,从〜12:31到12:21达到300 rps。之后,巡视将持续5分钟,然后再以10秒的速度增加500 rps。您等待了10秒+ 5分钟+ 10秒+ 5分钟?

答案 1 :(得分:0)

您要执行的操作与此类似:

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,您应该鉴于constantUsersPerSec(500)为您提供了足够的点击量,您就可以看到rps达到该阈值。