Gatling - проблема с созданием пользователей с rampUsers при работе другого сценария ios - PullRequest
0 голосов
/ 09 июля 2020

Я заметил странное поведение гатлинга. У меня есть 5 сценариев ios, которые имеют такую ​​«настройку»:

    scn[00-04].inject(constantUsersPerSec(simulationConfig.UsersPerSec) during
      (simulationConfig.maxDurationSeconds seconds).max(simulationConfig.maxDurationSeconds)).protocols(protocol),

UsersPerSe c = ~ 0,8

maxDurationSeconds = 240

и еще один сценарий с :

    scn05.inject(nothingFor(120 seconds), rampUsers(100) during(2 seconds))
      .protocols(protocol)

Таким образом, вся загрузка длилась 240 секунд, а через 120 секунд должна быть создана дополнительная нагрузка в течение 2 секунд. Что я наблюдал:

  • после начала создания дополнительных 100 новых «пользователей», старые «пользователи» из первых 5 сценариев ios не выполняли запросы / некоторое время оставались неактивными (почему?)
  • количество 100 «пользователей» не достигается после запуска (внутренне только один запрос блокировки к услуге soap отправляется за одно действие - это может занять от 5 секунд до ~ 30 секунд), он остается примерно на уровне 70 (синяя линия), но должно достигнуть 100 «пользователей» (почему?) введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 10 июля 2020

Хорошо, я создал еще один тестовый проект с:

    scn00.inject(rampUsers(100) during(2 seconds))
      .protocols(protocol),
    scn01.inject(nothingFor(20 seconds),rampUsers(100) during(2 seconds))
      .protocols(protocol)

В этом сценарии ios я оставил только

    .feed(customFeeder)
    .pause(1 seconds)
    .exec(customAction("Action X")((testData) => {
      val y = testData.getConfig -- sometimes reads shared file during initialization
      Thread.sleep(20000)
    }))

, и результаты выглядели: enter image description here

why in this chart we can see that:

  1. amount of 100 users was not reached? rampUsers(100) during (2 seconds)
  2. in that point this scenario should ends ( it contains almost only Thread.sleep(20000) )
  3. why: second scenario could reach amount of 100 users even if it differs only with nothingFor(20 seconds), additionaly: why this scenario did not start after 20seconds but 40 seconds?
  4. why: second scenario was frozen for 60 seconds and started to finishing after first scenario was completed by all users?

why it did not looked more or less like this: введите описание изображения здесь

0 голосов
/ 09 июля 2020

Я полагаю, вы путаете профиль инъекции с чем-то, что увеличивает продолжительность жизни виртуальных пользователей. Профиль впрыска водит только тогда, когда пользователи впрыскиваются / запускаются. Продолжительность жизни определяется вашим сценарием ios, когда пользователь достигает конца своего сценария, он завершается.

...