Об этом проекте
Locust — это инструмент для тестирования производительности и нагрузки с открытым исходным кодом, предназначенный для HTTP и других протоколов. Его главное преимущество заключается в том, что разработчики могут определять сценарии тестирования с помощью обычного кода Python, избегая графических интерфейсов или специализированных языков (DSL). Тесты можно запускать из командной строки или через встроенный веб-интерфейс, который отображает метрики в реальном времени, такие как пропускная способность, время отклика и ошибки, которые также можно экспортировать для последующего анализа.
Каждый пользователь в Locust работает внутри greenlet (легковесной корутины), что позволяет разработчикам писать блокирующий код на Python с циклами, условиями и вычислениями без использования обратных вызовов (callbacks). Это упрощает отладку тестов, управление версиями и интеграцию в конвейеры CI/CD.
Locust масштабируется горизонтально на нескольких машинах и использует gevent для событийно-ориентированного параллелизма, что позволяет имитировать тысячи одновременных пользователей на один процесс. Хотя он не обязательно является самым производительным инструментом по количеству запросов в секунду, низкие накладные расходы на одного пользователя делают его идеальным для симуляции высококонкурентных нагрузок.
Инструмент расширяем: пользователи могут импортировать стандартные библиотеки Python, создавать кастомных клиентов для систем, отличных от HTTP, подключать отчетность в реальном времени к таким базам данных, как TimescaleDB, или определять собственные формы нагрузки. Плагины сообщества еще больше расширяют его возможности.
Компания Microsoft внесла свой вклад в развитие и спонсирует поддержку Locust. Они также предлагают Azure Load Testing — управляемый сервис, который запускает тесты Locust в масштабе, интегрируется с Azure DevOps и GitHub, а также сопоставляет результаты тестов с метриками инфраструктуры.
Расширение для VS Code на базе Copilot помогает генерировать и запускать тесты Locust прямо в редакторе. Для обучения и решения проблем доступны документация, поддержка сообщества через StackOverflow и Discord, а также блог.
Проект распространяется под лицензией MIT. Locust был изначально создан Jonatan Heyman, в настоящее время поддержку возглавляет Lars Holmberg, а разработкой интерфейса занимается Andrew Baldwin. Проект благодарит всех контрибьюторов и признает постоянную поддержку Microsoft.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.