Приложение с открытым исходным кодом на Java для нагрузочного тестирования и оценки производительности веб-приложений и других сервисов.
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
Установите с помощью go install, используя Go 1.18 или новее
go install github.com/codesenberg/bombardier@latest - 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 обновляется ежедневно.
Похожие проекты
CLI на Go для нагрузочного тестирования HTTP(S) с отображением результатов в реальном времени в терминале и веб-интерфейсе; для запросов используется fasthttp.
Терминальный монитор в стиле top, показывающий запущенные eBPF-программы, время их выполнения, число событий в секунду и примерную загрузку CPU.
Высокопроизводительный HTTP-фреймворк для Go с API в стиле Martini, предназначенный для REST API, веб-приложений и микросервисов.
Альтернатива диспетчеру задач для Windows и Linux с подробной информацией о процессах: потоками, памятью, дескрипторами, сокетами и модулями.
Терминальный менеджер загрузок на Go с управлением с клавиатуры: разбивает файлы на параллельные части и загружает их с нескольких зеркал.