whatisgithub

What is bombardier?

codesenberg/bombardier — explained in plain English

Analysis updated 2026-06-24

6,778GoAudience · ops devopsComplexity · 1/5Setup · easy

In one sentence

A fast command-line HTTP load testing tool, point it at a URL, set concurrency and duration, and it reports requests per second, response times, latency percentiles, and error rates.

Mindmap

mindmap
  root((bombardier))
    What it does
      HTTP benchmarking
      Load testing
      Performance metrics
    Output
      Requests per second
      Response times
      Status code counts
    Options
      Concurrent connections
      Duration or count
      HTTP/2 support
    Setup
      Pre-built binaries
      Go toolchain install
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Benchmark an API endpoint before deploying to production to see how many requests per second it handles under load.

USE CASE 2

Run a 60-second load test with 100 concurrent connections to observe how response times degrade under pressure.

USE CASE 3

Check the 99th percentile latency of a web server to understand worst-case response times before a product launch.

USE CASE 4

Test an HTTP/2 endpoint by switching bombardier to Go's standard net/http library via a command-line flag.

What is it built with?

Gofasthttpnet/http

How does it compare?

codesenberg/bombardiergoogle/gopacketluraproject/lura
Stars6,7786,7766,773
LanguageGoGoGo
Setup difficultyeasymoderatehard
Complexity1/53/54/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
License terms are not described in the explanation.

So what is it?

bombardier is a command-line tool written in Go for HTTP benchmarking. Benchmarking a web server means sending a large number of requests to it and measuring how many it handles per second, how fast it responds, and whether it returns errors. This kind of testing is used to understand how a server holds up under heavy load before putting it into production. You run it by pointing it at a URL and specifying how many concurrent connections to open, along with either a total request count or a duration to run for. The output shows the average requests per second, average response time, standard deviation and maximum of response times, a breakdown of HTTP status codes received, and overall data throughput in megabytes per second. An optional latency distribution flag also shows how fast the slowest 50%, 75%, 90%, and 99% of requests were answered, which gives a clearer picture of how a server behaves in its worst cases rather than just its average. By default, bombardier uses fasthttp, a high-performance HTTP library that lets it sustain very high request rates. For servers that use HTTP/2, or where specific header handling is required, you can switch it to use Go's standard net/http library instead via a command-line flag. Pre-built binaries for each supported platform are available in the releases section of the repository. Go developers can also install the latest version with a single command using the Go toolchain.

Copy-paste prompts

Prompt 1
Run bombardier against my local API at localhost:8080/api/health with 200 concurrent connections for 60 seconds and show me the full latency percentile breakdown.
Prompt 2
How do I use bombardier to benchmark an HTTP/2 endpoint and compare it against HTTP/1.1 performance on the same server?
Prompt 3
Write a shell script that uses bombardier to test my web server at 10, 50, 100, and 500 concurrent connections and log the requests-per-second for each level.
Prompt 4
How do I install bombardier on macOS using the Go toolchain and immediately run a 1000-request benchmark against a URL?

Frequently asked questions

What is bombardier?

A fast command-line HTTP load testing tool, point it at a URL, set concurrency and duration, and it reports requests per second, response times, latency percentiles, and error rates.

What language is bombardier written in?

Mainly Go. The stack also includes Go, fasthttp, net/http.

What license does bombardier use?

License terms are not described in the explanation.

How hard is bombardier to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is bombardier for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.