Могу ли я вызвать сбой моего сервера с помощью Locust?

Я ищу масштабируемый инструмент для генерации нагрузки. Многие инструменты, такие как Vegeta, регулируют нагрузку в соответствии с ответом сервера. Поэтому я не мог предвидеть, выйдет ли из строя мой сервер из-за огромной нагрузки. Было полезно увидеть максимальную пропускную способность моего сервера, но это не гарантирует, что он не выйдет из строя при большей нагрузке, чем он может выдержать. Могу ли я отправлять фиксированный уровень загрузки с помощью Locust? Я изучаю документацию, но мне это не ясно.

1 ответ

Да и нет. Locust всегда запускает определенное количество одновременных пользователей и не может создавать новых, если ваш сервер замедляется (по крайней мере, без серьезного взлома/обходных решений)

Однако вы можете добиться того же, ограничив пользователей определенной скоростью.

Допустим, вы хотите протестировать 100 запросов/с.

Предполагая, что вашему сервису никогда не потребуется >20 секунд для обслуживания запроса (или, точнее, выполнения задачи по саранче), вы можете установитьwait_time = constant_pacing(20)и запустите 2000 пользователей (100 об/с*20 с =>2000 пользователей).

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

См. https://docs.locust.io/en/stable/api.html#locust.wait_time.constant_pacing для получения дополнительной информации.

Другие вопросы по тегам