Repolode
codesenberg

codesenberg/bombardier

Кроссплатформенный CLI-инструмент на Go для бенчмаркинга и нагрузочного тестирования HTTP(S), использующий fasthttp для высокой пропускной способности.

Звёзды
6,843
Форки
332
Открытые issues
30
Последний коммит
13 дней назад

Что это?

bombardier — CLI-инструмент для нагрузочного тестирования HTTP- и HTTPS-сервисов. Укажите URL, число параллельных соединений и количество запросов или длительность теста — инструмент покажет число запросов в секунду, статистику задержек, количество ответов с разными HTTP-кодами, ошибки и пропускную способность.

По умолчанию для скорости используется клиент fasthttp, а не стандартная библиотека Go net/http. Начиная с v1.1 флагами можно переключиться на клиент net/http — это удобно для тестирования сервисов HTTP/2.x или когда нужен клиент, лучше соответствующий RFC. Проект поставляется с готовыми бинарными файлами для Linux, macOS и Windows; его также можно установить командой go install.

Известное ограничение: с fasthttp не удаётся корректно задать заголовок Host. В документации в качестве обходного решения предлагается режим net/http (--http1 или --http2).

Ключевые возможности

  • 01Нагрузочно тестирует HTTP- и HTTPS-эндпоинты с настраиваемым числом параллельных соединений.
  • 02Выполняет заданное число запросов или тест в течение заданного времени.
  • 03Показывает число запросов в секунду, задержки, распределение по кодам ответа и пропускную способность.
  • 04По умолчанию использует клиент fasthttp, а для тестирования HTTP/2.x предлагает клиент net/http.
  • 05Предоставляет готовые бинарные файлы для Linux, macOS и Windows.

Сценарии использования

  • Измерение числа запросов в секунду, которое может обработать веб-сервис или API.
  • Проверка распределения задержек и частоты ошибок при параллельной нагрузке.
  • Сравнение производительности сервера до и после изменений.

Быстрый старт

  1. 1

    Установите с помощью go install, используя Go 1.18 или новее

    go install github.com/codesenberg/bombardier@latest
  2. 2

    Запустите бенчмарк для URL с 125 соединениями и 10 миллионами запросов

    bombardier -c 125 -n 10000000 http://localhost:8080

Что важно знать

  • Клиент fasthttp по умолчанию не может корректно передать заголовок Host, поэтому используйте флаги --http1 или --http2 (net/http) в качестве обходного решения.

Темы

Частые вопросы

Что такое bombardier?
Кроссплатформенный CLI-инструмент на Go для бенчмаркинга и нагрузочного тестирования HTTP(S), использующий fasthttp для высокой пропускной способности. bombardier — CLI-инструмент для нагрузочного тестирования HTTP- и HTTPS-сервисов. Укажите URL, число параллельных соединений и количество запросов или длительность теста — инструмент покажет число запросов в секунду, статистику задержек, количество ответов с разными HTTP-кодами, ошибки и пропускную способность.
bombardier можно использовать бесплатно? Какая у него лицензия?
bombardier распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
bombardier всё ещё поддерживается?
Активно поддерживается. Последний коммит в bombardier — 10 окт. 2026 г..
Для чего можно использовать bombardier?
Измерение числа запросов в секунду, которое может обработать веб-сервис или API. Проверка распределения задержек и частоты ошибок при параллельной нагрузке. Сравнение производительности сервера до и после изменений.
Как установить bombardier?
Установите с помощью go install, используя Go 1.18 или новее: go install github.com/codesenberg/bombardier@latest Запустите бенчмарк для URL с 125 соединениями и 10 миллионами запросов: bombardier -c 125 -n 10000000 http://localhost:8080
Где скачать bombardier?
Исходный код и инструкции по установке — на GitHub: https://github.com/codesenberg/bombardier

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

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