Инструмент с открытым исходным кодом для нагрузочного тестирования: сценарии для HTTP и других протоколов задаются обычным кодом на Python, а результаты отображаются в веб-интерфейсе.
tsenart/vegeta
CLI-инструмент и библиотека Go для нагрузочного тестирования HTTP: отправляют запросы с постоянной частотой и показывают статистику задержек.
Open source альтернатива:Apache JMeter
- Звёзды
- 25,225
- Форки
- 1,428
- Открытые issues
- 125
- Последний коммит
- в прошлом месяце
Что это?
Vegeta — инструмент для нагрузочного тестирования HTTP-сервисов с постоянной частотой запросов. Его можно запускать как CLI-программу с отдельными командами attack, encode, report и plot, которые можно объединять в цепочки через UNIX-пайпы, или подключить как библиотеку Go, чтобы запускать нагрузочные тесты из кода.
Список целей можно передать в виде обычного текста в формате HTTP-сообщений или потока JSON-объектов, созданных другой программой, — так можно динамически формировать запросы. Команда attack позволяет настроить частоту и длительность запросов, количество воркеров, таймауты, TLS-сертификаты, HTTP/2, keep-alive, лимиты подключений и собственные DNS-резолверы. Результаты можно свести в текстовый или JSON-отчёт, сгруппировать в гистограммы, экспортировать в формате HDR histogram или отобразить в виде интерактивного HTML-графика задержек.
Во время атаки Vegeta также предоставляет Prometheus exporter и поддерживает распределённые запуски: целевую частоту можно разделить между несколькими машинами, а файлы с результатами — объединить.
Ключевые возможности
- 01HTTP-нагрузка с постоянной частотой запросов через CLI или библиотеку Go.
- 02Список целей в виде текста или потока JSON, в том числе с ленивой генерацией данных.
- 03Отчёты о задержках с перцентилями, гистограммами кодов состояния и наборами ошибок.
- 04Текстовый формат, JSON, гистограммы и HDR histogram.
- 05Интерактивный HTML-график задержек запросов во времени.
- 06Встроенный Prometheus exporter во время нагрузочных тестов.
- 07Поддержка HTTP/2, клиентских TLS-сертификатов, собственных заголовков и DNS-резолверов.
Сценарии использования
- Измерение задержек API-эндпоинта при фиксированной частоте запросов.
- Запуск распределённых нагрузочных тестов с разделением целевой частоты между несколькими машинами.
- Передача в сервис динамически сформированных запросов из скрипта или конвейера обработки данных.
- Мониторинг метрик нагрузочного теста в Grafana через Prometheus exporter.
Быстрый старт
- 1
Установить на macOS с помощью Homebrew
brew update && brew install vegeta - 2
Установить на Arch Linux с помощью pacman
pacman -S vegeta - 3
Запустить тест: отправлять 50 GET-запросов в секунду в течение 5 секунд и вывести отчёт
echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
Что важно знать
- Для других платформ установочные скрипты и бинарные файлы перечислены только на странице релизов, поэтому настройка зависит от вашей ОС.
В подборках
Темы
Частые вопросы
- Что такое vegeta?
- CLI-инструмент и библиотека Go для нагрузочного тестирования HTTP: отправляют запросы с постоянной частотой и показывают статистику задержек. Vegeta — инструмент для нагрузочного тестирования HTTP-сервисов с постоянной частотой запросов. Его можно запускать как CLI-программу с отдельными командами attack, encode, report и plot, которые можно объединять в цепочки через UNIX-пайпы, или подключить как библиотеку Go, чтобы запускать нагрузочные тесты из кода.
- vegeta можно использовать бесплатно? Какая у него лицензия?
- vegeta распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- vegeta всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в vegeta — 24 сент. 2026 г..
- Для чего можно использовать vegeta?
- Измерение задержек API-эндпоинта при фиксированной частоте запросов. Запуск распределённых нагрузочных тестов с разделением целевой частоты между несколькими машинами. Передача в сервис динамически сформированных запросов из скрипта или конвейера обработки данных. Мониторинг метрик нагрузочного теста в Grafana через Prometheus exporter.
- Как установить vegeta?
- Установить на macOS с помощью Homebrew: brew update && brew install vegeta Установить на Arch Linux с помощью pacman: pacman -S vegeta Запустить тест: отправлять 50 GET-запросов в секунду в течение 5 секунд и вывести отчёт: echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
- Где скачать vegeta?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tsenart/vegeta
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Приложение с открытым исходным кодом на Java для нагрузочного тестирования и оценки производительности веб-приложений и других сервисов.
Кроссплатформенный CLI-инструмент на Go для бенчмаркинга и нагрузочного тестирования HTTP(S), использующий fasthttp для высокой пропускной способности.
Консольный генератор HTTP-нагрузки на Rust, вдохновлённый rakyll/hey, с интерактивным терминальным интерфейсом в реальном времени.
CLI на Go для нагрузочного тестирования HTTP(S) с отображением результатов в реальном времени в терминале и веб-интерфейсе; для запросов используется fasthttp.
Генератор сетевого трафика и инструмент нагрузочного тестирования на базе DPDK для бенчмаркинга L4-балансировщиков, шлюзов и серверов.