Как увеличить RPS до 50к в гатлинге?

Максимальный RPS, которого я смог добиться, — 15 000 RPS. Добавление большего количества пользовательских потоков просто не увеличит количество запросов в секунду. Netstat, ЦП, память на хосте Gatling выглядят исправно.

Есть ли какие-либо параметры конфигурации Gatling, которые я могу настроить для достижения 50 000 RPS?


person dwong    schedule 12.01.2021    source источник


Ответы (1)


Возможности:

  1. Вы насыщаете пропускную способность
  2. Ваша система под нагрузкой не может справиться с чем-то большим, чем это
person Stéphane LANDELLE    schedule 12.01.2021
comment
я нажимал на конечную точку проверки работоспособности другой службы, и скорость передачи данных составляет ~ 1,5 млн в секунду с 15 тыс. запросов. Я также подозреваю, что тестируемая служба является узким местом. Интересно, может ли Gatling сам по себе достичь 50 тыс. об/с, если пропускная способность и сервис не являются проблемой. - person dwong; 13.01.2021
comment
У нас есть некоторые внутренние тесты, которые достигают 200 000 об/с, поэтому, если вы не используете ЦП или пропускную способность на максимум, вполне вероятно, что ваша тестируемая система не может отвечать достаточно быстро. - person Stéphane LANDELLE; 13.01.2021
comment
Спасибо! Это хорошо знать. - person dwong; 13.01.2021
comment
Я попытался протестировать более крупную систему, но RPS не может быть быстрее 15 000 RPS. Было бы здорово, если бы вы знали какие-либо параметры конфигурации Gatling, на которые мне следует обратить внимание. - person dwong; 13.01.2021
comment
большая система = каждый компонент больше, например, включая балансировщики нагрузки? - person Stéphane LANDELLE; 14.01.2021
comment
да, мы смогли сгенерировать более 20 000 запросов в секунду, используя другой инструмент для создания http-запросов, такой как httpd. - person dwong; 14.01.2021
comment
Вы уверены, что используете соединения таким же образом? Например, один инструмент открывает новые соединения при каждом запросе, а другой повторно использует поддерживающие соединения с глобальным общим пулом соединений? - person Stéphane LANDELLE; 15.01.2021
comment
Для Gatling мы установили для проверки активности значение true. - person dwong; 16.01.2021
comment
Пожалуйста, проверьте это: github.com/gatling/gatling/commit/ - person Stéphane LANDELLE; 16.01.2021
comment
в чем разница между .shareConnections и .disableClientSharing? - person dwong; 20.01.2021
comment
в нашем тесте включение/выключение shareConnections не меняет RPS. - person dwong; 20.01.2021
comment
Честно говоря, я не могу сказать, что не так с вашим env/test/app без какой-либо информации. Если вы можете предоставить автономный репродуктор, не стесняйтесь обращаться к списку рассылки сообщества Gatling. В противном случае, если вам нужно, чтобы кто-то исследовал вашу среду, мы можем предложить только это в качестве консультации. - person Stéphane LANDELLE; 20.01.2021
comment
disableClientSharing был чем-то в старой версии, его больше нет. - person Stéphane LANDELLE; 20.01.2021
comment
Я сделаю некоторые профилирования с моими коллегами. Ваша помощь очень ценится! - person dwong; 20.01.2021
comment
вместо того, чтобы изучить мое приложение, могу я спросить, какие сценарии у вас есть в ваших тестах производительности, которые достигают 200 000 об/с? - person dwong; 20.01.2021
comment
1000 пользователей зацикливаются и используют REST API, который возвращает небольшую полезную нагрузку (так что мы не превышаем пропускную способность 1G на наших машинах с голым железом). Как я уже сказал, поскольку архитектура Гатлинга не блокирует, если вы не используете до максимума ЦП или пропускную способность своих инжекторов, это означает, что узким местом является ваше приложение. - person Stéphane LANDELLE; 20.01.2021