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

Stars: 6.8k · Language: Go · License: MIT · Categories: Network

- Repository: https://github.com/codesenberg/bombardier
- Page: https://www.trmn.sh/tools/bombardier

## Install

- Go: `go install github.com/codesenberg/bombardier@latest`

## Overview

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

```bash
# via Go
go install github.com/codesenberg/bombardier@latest
```

## Alternatives

- [wego](https://www.trmn.sh/tools/wego.md): Terminal weather client showing 1–7 day forecasts from several backends, rendered as an ASCII-art table, emoji, markdown, or JSON. (Go, 8.6k stars)
- [devzat](https://www.trmn.sh/tools/devzat.md): SSH server that creates a chat room instead of shell access, enabling cross-platform terminal chat (Go, 4.1k stars)
- [curlie](https://www.trmn.sh/tools/curlie.md): A curl frontend that combines curl's features with HTTPie's user-friendly interface and syntax (Go, 3.7k stars)
- [termshark](https://www.trmn.sh/tools/termshark.md): Terminal user interface for tshark that provides Wireshark-like packet analysis capabilities from the command line (Go, 10.0k stars)
- [qrcp](https://www.trmn.sh/tools/qrcp.md): 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. (Go, 10.5k stars)

---

Canonical: https://www.trmn.sh/tools/bombardier
