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

时间:2016-11-03 14:15:42

标签: scala gatling

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

根据我在文档中看到的内容,constantUsersPerSec接受双倍,但它是四舍五入的,而限制中的reachRps仅接受秒数。所以,不要小于1 rps。

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

1 个答案:

答案 0 :(得分:1)

因此,您的情况似乎是" 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 : _*))