Как настроить время замедления в Гатлинге? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть сценарии jmeter для увеличения 20 пользователей в течение 20 минут (1 пользователь каждую минуту), удержания в течение 30 минут и уменьшения 1 пользователя в минуту.

Как мне добиться этого в Гатлинге?

Я пробовал ниже настройки в gatling,

SAAPIBase.scn_SA_Auth.inject(rampUsers(20) during (20 minutes)).protocols(httpConf)
).maxDuration(50 minutes)

Это увеличивает 20 пользователей на 20 минут и удерживает в течение 30 минут с 20 пользователями. Но после этого он внезапно падает до нуля.

Как мне постепенно уменьшать 1 на 1 пользователя каждую минуту?

1 Ответ

0 голосов
/ 31 мая 2019

Обратите внимание, как долго ваши симуляции сильно зависят от сценариев, которые вы запускаете - все этапы впрыска DSL контролируют , когда пользователей начинают работу, и это все.Поэтому, если у вас есть сценарии, которые работают очень долго или непредсказуемо, то сложно гарантировать что-то в точности как то, что вы указали.

В вашем примере

.inject(rampUsers(20) during (20 minutes)).protocols(httpConf)
).maxDuration(50 minutes)

вы вводите 20 пользователей равномерноболее 20 минут (так по одному каждую минуту).Если это действительно удерживается в течение 30 минут после рампы, то ваши сценарии, вероятно, зацикливаются, и пользователи останавливаются оператором maxDuration.

для замедления, вы можете изменить инъекцию на

.inject(
  rampConcurrentUsers(1) to(20) during(20 minutes),
  constantConcurrentUsers(20) during (30 minutes),
  rampConcurrentUsers(20) to(1) during(20 minutes)
)

это даст вам такое же увеличение в течение 20 минут, затем будет продолжать вводить пользователей, когда другие закончат, чтобы поддерживать 20 одновременных пользователей в течение следующих 30 минут, а затем постепенно замедлять скорость введения в течение последних 20 минут.Однако, если ваш сценарий использует циклы, такие как .forever, для продолжения работы, это замедление не будет работать, поскольку пользователи, введенные в 1-й команде, никогда не остановятся.

...