Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codesenberg/bombardier
Fast cross-platform HTTP benchmarking tool written in Go
https://github.com/codesenberg/bombardier
benchmarking bombardier cli fast go golang http linux load-testing macos performance windows
Last synced: 20 days ago
JSON representation
Fast cross-platform HTTP benchmarking tool written in Go
- Host: GitHub
- URL: https://github.com/codesenberg/bombardier
- Owner: codesenberg
- License: mit
- Created: 2016-05-29T15:16:30.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-07-07T19:02:51.000Z (4 months ago)
- Last Synced: 2024-10-01T17:43:16.595Z (about 1 month ago)
- Topics: benchmarking, bombardier, cli, fast, go, golang, http, linux, load-testing, macos, performance, windows
- Language: Go
- Homepage:
- Size: 884 KB
- Stars: 5,913
- Watchers: 93
- Forks: 313
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - bombardier - Fast cross-platform HTTP benchmarking tool. (Applications)
- go-awesome - bombardier - web stress test tool (Open source library / HTTP Print Test)
- awesome-golang-repositories - bombardier - platform HTTP benchmarking tool written in Go (Repositories)
- awesome-go - bombardier - Fast cross-platform HTTP benchmarking tool. Stars:`6.0K`. (Software Packages / DevOps Tools)
- awesome-go-extra - bombardier - platform HTTP benchmarking tool written in Go|3694|245|17|2016-05-29T15:16:30Z|2022-04-12T14:20:02Z| (Go Tools / DevOps Tools)
- starred-awesome - bombardier - Fast cross-platform HTTP benchmarking tool written in Go (Go)
- awesome-repositories - codesenberg/bombardier - Fast cross-platform HTTP benchmarking tool written in Go (Go)
- awesome-go - bombardier - Fast cross-platform HTTP benchmarking tool written in Go - ★ 1178 (Software Packages)
README
# bombardier [![Build Status](https://codesenberg.semaphoreci.com/badges/bombardier/branches/master.svg?key=249c678c-eb2a-441e-8128-1bdcfb9aaca6)](https://codesenberg.semaphoreci.com/projects/bombardier) [![Go Report Card](https://goreportcard.com/badge/github.com/codesenberg/bombardier)](https://goreportcard.com/report/github.com/codesenberg/bombardier) [![GoDoc](https://godoc.org/github.com/codesenberg/bombardier?status.svg)](http://godoc.org/github.com/codesenberg/bombardier)
![Logo](https://raw.githubusercontent.com/codesenberg/bombardier/master/img/logo.png)
bombardier is a HTTP(S) benchmarking tool. It is written in Go programming language and uses excellent [fasthttp](https://github.com/valyala/fasthttp) instead of Go's default http library, because of its lightning fast performance.With `bombardier v1.1` and higher you can now use `net/http` client if you need to test HTTP/2.x services or want to use a more RFC-compliant HTTP client.
Tested on go1.18 and higher.
## Installation
You can grab binaries in the [releases](https://github.com/codesenberg/bombardier/releases) section.
Alternatively, to get latest and greatest run:Go 1.18+: `go install github.com/codesenberg/bombardier@latest`
## Usage
```
bombardier []
```For a more detailed information about flags consult [GoDoc](http://godoc.org/github.com/codesenberg/bombardier).
## Known issues
AFAIK, it's impossible to pass Host header correctly with `fasthttp`, you can use `net/http`(`--http1`/`--http2` flags) to workaround this issue.## Examples
Example of running `bombardier` against [this server](https://godoc.org/github.com/codesenberg/bombardier/cmd/utils/simplebenchserver):
```
> bombardier -c 125 -n 10000000 http://localhost:8080
Bombarding http://localhost:8080 with 10000000 requests using 125 connections
10000000 / 10000000 [============================================] 100.00% 37s Done!
Statistics Avg Stdev Max
Reqs/sec 264560.00 10733.06 268434
Latency 471.00us 522.34us 51.00ms
HTTP codes:
1xx - 0, 2xx - 10000000, 3xx - 0, 4xx - 0, 5xx - 0
others - 0
Throughput: 292.92MB/s
```
Or, against a realworld server(with latency distribution):
```
> bombardier -c 200 -d 10s -l http://ya.ru
Bombarding http://ya.ru for 10s using 200 connections
[=========================================================================] 10s Done!
Statistics Avg Stdev Max
Reqs/sec 6607.00 524.56 7109
Latency 29.86ms 5.36ms 305.02ms
Latency Distribution
50% 28.00ms
75% 32.00ms
90% 34.00ms
99% 48.00ms
HTTP codes:
1xx - 0, 2xx - 0, 3xx - 66561, 4xx - 0, 5xx - 0
others - 5
Errors:
dialing to the given TCP address timed out - 5
Throughput: 3.06MB/s
```