scala – Gatling场景,每小时10次请求(少于1 rps)

我需要编写将模仿真实用户交互的Gatling场景.它应该偶尔发出一些请求,例如每个用户每小时10个(共20个用户).

从我在文档中看到的情况来看,constantUsersPerSec接受double但是它是舍入的,而限制中的reachRps只接受秒.所以,不要少于1 rps.

可以使用Gatling编写这样的场景吗?

最佳答案 因此,您的方案似乎是“2小时,每6分钟发送一次请求”或“在2小时内以每小时10个用户的恒定速率……”.

选项1

constantUsersPerSec在将其乘以持续时间的秒数后内部舍入为int.因此,应根据速率选择持续时间,以使结果大于1.

在你的情况下,

def perHour(rate : Double): Double = rate / 3600

constantUsersPerSec(perHour(10)) during(2 hours)

这会导致

10/3600用户*(2 * 60 * 60)秒= 20个用户

选项2

通过注射步骤

setUp(
  scn.inject(
    atOnceUsers(1),
    nothingFor(6 minutes),
    atOnceUsers(1),
    nothingFor(6 minutes),
    //... and so forth...
  )
)

或以第二种方法产生注射步骤

def injections(): List[InjectionStep] = List(...)

setUp(scn.inject(injections : _*))
点赞