bombardier
HTTP(S) benchmarking tool written in Go that uses fasthttp by default, with optional net/http for HTTP/2, and reports latency, requests/sec and throughput.
bombardier is a command-line HTTP(S) load and benchmarking tool written in Go. It is invoked as bombardier [<flags>] <url> and generates requests against a target URL, then reports statistics on the result. It uses the fasthttp client by default rather than Go's standard http library, and runs on multiple platforms.
Runs are controlled by flags such as -c for the number of connections, -n for a total request count, and -d for a duration (for example -c 200 -d 10s). While running it shows a progress bar. The final report gives requests per second and latency as average, standard deviation and maximum, plus HTTP status code counts grouped as 1xx through 5xx and others, an error breakdown (such as dial timeouts), and throughput in MB/s. The -l flag adds a latency distribution with 50th, 75th, 90th and 99th percentiles.
From v1.1, bombardier can use the net/http client through the --http1 and --http2 flags. This is needed for testing HTTP/2 services or when a more RFC-compliant client is wanted. It is also the documented workaround for a known issue where the Host header cannot be set correctly with fasthttp. It suits developers and operators who want to measure the throughput and latency of web servers and APIs from the terminal.
Installation
# via Go
go install github.com/codesenberg/bombardier@latest
Alternatives & related tools
wego
Terminal weather client showing 1–7 day forecasts from several backends, rendered as an ASCII-art table, emoji, markdown, or JSON.
devzat
SSH server that creates a chat room instead of shell access, enabling cross-platform terminal chat
curlie
A curl frontend that combines curl's features with HTTPie's user-friendly interface and syntax
termshark
Terminal user interface for tshark that provides Wireshark-like packet analysis capabilities from the command line
qrcp
Go CLI that transfers files between a computer and a mobile device over Wi-Fi by printing a QR code in the terminal that links to a temporary local web server.
add a badge to your README
Maintain bombardier? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/bombardier?utm_source=badge)<a href="https://www.trmn.sh/tools/bombardier?utm_source=badge"><img src="https://www.trmn.sh/badge/bombardier.svg" alt="Featured on trmn" height="20"></a>