Gatling throttle не достигает настроенных запросов в секунду - PullRequest
0 голосов
/ 26 мая 2020

Я не знаю, ошибка ли это, или я не знаю реального поведения операции Gatling Throttling throttle, но я не знаю, как воспроизвести сценарий.

Я хочу иметь постоянное количество запросов 15 в секунду за 10 минут.

Моя установка выглядит следующим образом:

setUp(scn.inject(constantConcurrentUsers(45) during(10 minutes)).protocols(httpProtocol)).throttle(
    reachRps(15) in (1 seconds),
    holdFor(10 minute))

Я предполагаю, что у меня будет 45 доступных пользователей (constantConcurrentUsers(45)) для выполнения 15 запросов в секунду (reachRps(15)), я достигну этой скорости за 1 секунду (in (1 seconds)) и буду удерживать эту скорость в течение 10 минут (holdFor(10 minutes))

Я пробовал с 15 пользователями constantConcurrentUsers вместо 45 и получил те же результаты.

Вопрос: Почему максимальное количество одновременных запросов, которое я вижу в результатах, равно 13 и почему на самом деле среднее количество запросов в секунду больше или меньше 5?

enter image description here

Как я могу реализовать описанный сценарий?

1 Ответ

0 голосов
/ 26 мая 2020

Как объяснено в официальной документации :

Вы все равно должны вводить пользователей на уровне сценария. Регулирование пытается обеспечить целевую пропускную способность для данного сценария ios и их профилей внедрения (количество пользователей и продолжительность). Это узкое место, ie верхний предел. Если вы не предоставите достаточно пользователей, вы не дойдете до дроссельной заслонки. Если ваша инъекция длится меньше, чем дроссельная заслонка, ваша симуляция просто остановится, когда все пользователи закончат. Если ваш впрыск длится дольше, чем дроссельная заслонка, симуляция остановится в конце дроссельной заслонки.

...