Repolode
tsenart

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. 1

    Установить на macOS с помощью Homebrew

    brew update && brew install vegeta
  2. 2

    Установить на Arch Linux с помощью pacman

    pacman -S vegeta
  3. 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 обновляется ежедневно.

Похожие проекты

Инструмент с открытым исходным кодом для нагрузочного тестирования: сценарии для HTTP и других протоколов задаются обычным кодом на Python, а результаты отображаются в веб-интерфейсе.

28,2 тыс.+3 за неделю3,3 тыс.PythonMITОбновлён 10 часов назад