Gatling: сохраняйте фиксированное количество пользователей / запросов в любой момент - PullRequest
0 голосов
/ 28 апреля 2019

как мы можем хранить фиксированное количество активных одновременно работающих пользователей / запросов для сценария.

У меня есть уникальная проблема тестирования, когда я должен выполнить тестирование производительности служб с фиксированным числом запросов вданный момент для заданных периодов времени, таких как 10 минут или 30 минут или 1 час.

Я не ищу в секунду, что я ищу, так это то, что мы начинаем с N количества запросов и как любойзапросов из N запросов завершается, мы добавляем еще один, чтобы в любой момент времени у нас было только N одновременных запросов.

То, что я пробовал, это rampUsers(100) over 10 seconds, но иногда я вижу, что есть более 50 пользователей.в данном случае.

constantUsersPerSec(20) during (1 minute) также некоторое время принимал количество запросов t0 50+.

atOnceUsers(20) кажется связанным, но я не вижу способа сохранить его работающим в течение заданного количества секунд идобавление большего количества запросов по мере выполнения предыдущих.

Заранее благодарим сообщество, ожидая указания с вашей стороны.

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Использовать Модель закрытой рабочей нагрузки для впрыска , поддерживаемую Гатлинг 3,0 .В вашем случае, чтобы моделировать и поддерживать 20 активных пользователей / запросов в течение минуты, вы можете использовать инъекцию, например,

Script.<Controller>.<Scenario>.inject(constantConcurrentUsers(20) during (60 seconds))
0 голосов
/ 28 апреля 2019

Существует механизм регулирования (https://gatling.io/docs/3.0/general/simulation_setup/#throttling), который позволяет вам установить максимальное количество запросов, но вы должны помнить, что пользователи вводятся в симуляцию независимо от этого, и вы должны вводить достаточно пользователей, чтобы получить это максимальное количествозапрос, без этого вы в конечном итоге получите более низкие требования / с. Также пользователи, которые будут введены, но не смогут отправить запрос из-за регулирования, будут ждать в очереди, пока они не повернут. Это может привести к огромной нагрузке сразу после окончания работы газаили может расширить вашу симуляцию, поэтому всегда лучше, чтобы время дросселирования было больше, чем время впрыска, и добавьте опцию maxDuration() в настройку симуляции.

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

...