Почему действия gatling не выполняются в последовательном порядке при выполнении сценария для нескольких пользователей? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть 1 сценарий Гатлинга, который имеет вид 10 .exec ();в основном вызовы http-запроса в каждом методе действия, указанном в другом классе scala.Когда запускают этот сценарий только для 1 пользователя;он выполняет эти действия в последовательном порядке.Тем не менее, когда я увеличиваю количество пользователей, я вижу, что эти действия не выполняются в последовательном порядке, скорее как резкие, я верю: при запуске симуляции: для первого пользователя он выполняет только первые 2 метода действий (запросы http), а затем переключается на выполнение того же самогопервые 2 действия для нового пользователя (userId = 2) без необходимости завершения остальных методов действий для самого первого пользователя (userid = 1).

Как можно избежать этой проблемы.Я намеренно сохранил 1 сценарий и хотел цепочку запросов, чтобы они выполнялись в последовательном порядке для всех пользователей.Я понимаю, если это происходит из-за инъекции всех пользователей за один раз.Но я использую rampUsers(10) during(10 seconds).И, вероятно, я собираюсь увеличить их до ~ 50 виртуальных пользователей.

Нужно ли добавлять как задержку или ждать, чтобы избежать этой проблемы?Пожалуйста, предоставьте предложения, так как я недавно начал изучать gatling, а также выполнять загрузку или генерацию трафика для теста производительности.

Simulation.scala содержит:

val scen = scenario("Setup data for user")
    .feed(uuidFeeder)
    .exec(Actions.createSmthing())
    .exec(Actions.createFamily())
    .exec(Actions.listMembers())
    .exec(Actions.createBlah())
    .exec(Actions.listBlah())
    .exec(Actions.getFavorites())
    .exec(Actions.generateAddress())
    ...
    ..//couple of more Action methods 


setUp(
     scen.inject(
       rampUsers(10) during(10 seconds)
     )

Action.scala содержит методы HTTP-запроса createSmthing (), createFamily () и т. д.

Я бы хотел видеть один и тот же набор всех действий, выполняемых последовательно для каждого пользователя, т.е.для пользователя # 1 все действия в порядке createSmthing (), затем createFamily (), listMembers () и т. д. Затем тот же набор действий для другого пользователя.В настоящее время он выполняет 2 задачи поочередно для каждого пользователя.Итак, сначала 2 для user1, затем те же 2 задачи для пользователя # 2, затем следующие 2 действия для пользователя # 1 и те же эти 2 для пользователя # 2 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...