我想随机注入没有。加特林的用户例如,
前10秒,100个用户
接下来的15秒,25位用户,
接下来的2秒,1000个用户等等..
具有随机用户数的随机时间
我发现的一个复杂的解决方法如下:
val r=new scala.util.Random
setUp(
scn.inject(
constantUsersPerSec(10) during(10 seconds) randomized,
constantUsersPerSec(10+r.nextInt(500)) during(15 seconds) randomized,
constantUsersPerSec(210+r.nextInt(500)) during(25 seconds) randomized,
constantUsersPerSec(510+r.nextInt(520)) during(55 seconds) randomized,
constantUsersPerSec(170+r.nextInt(100)) during(5 seconds) randomized,
constantUsersPerSec(270+r.nextInt(1010)) during(5 seconds) randomized,
constantUsersPerSec(710+r.nextInt(5100)) during(1 minute) randomized,
constantUsersPerSec(5+r.nextInt(40)) during(100 seconds) randomized,
constantUsersPerSec(710+r.nextInt(5200)) during(15 seconds) randomized,
constantUsersPerSec(0+r.nextInt(20)) during(10 seconds) randomized,
constantUsersPerSec(10) during(10 seconds) randomized,
constantUsersPerSec(10+r.nextInt(500)) during(15 seconds) randomized,
constantUsersPerSec(210+r.nextInt(500)) during(25 seconds) randomized,
constantUsersPerSec(510+r.nextInt(520)) during(55 seconds) randomized,
constantUsersPerSec(170+r.nextInt(100)) during(5 seconds) randomized,
constantUsersPerSec(270+r.nextInt(1010)) during(5 seconds) randomized,
constantUsersPerSec(710+r.nextInt(5100)) during(1 minute) randomized,
constantUsersPerSec(5+r.nextInt(40)) during(100 seconds) randomized,
constantUsersPerSec(710+r.nextInt(5200)) during(15 seconds) randomized,
constantUsersPerSec(1) during(10 seconds),
).protocols(kafkaConf))
有没有简单的方法来做到这一点?
换句话说,有没有办法注入循环?
P.S:我尝试了repeat()
的场景,但这完全是另一回事。它不是调用一次,而是调用n次,即它为每个用户执行动作n
次。
.inject方法可以采用一系列注入步骤,因此您只需使用一个函数来生成该数组
val r=new scala.util.Random
setUp(
scn.inject(
(1 to 10).map(i => constantUsersPerSec(r.nextInt(500)) during (r.nextInt(30) seconds) randomized)
)
).protocols