Как вводить случайно нет.пользователей в Гатлинге? - PullRequest
0 голосов
/ 05 апреля 2019

Я хотел бы ввести случайное нет.пользователей в Гатлинге.Например,

В течение первых 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))

Есть лиЕсть ли простой способ сделать это?

Другими словами, есть ли способ ввести в цикл?

PS: я попробовал repeat() для сценария, но это другоевещь в целом.Вместо однократного вызова он вызывает n раз, т.е. выполняет действие n раз для каждого пользователя.

1 Ответ

2 голосов
/ 24 апреля 2019

метод .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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...