Bombardier is a nice HTTP(S) benchmarking tool, written in Go language, for software performance testers.
Preparation
# install git and curl packages $ sudo apt install -y curl git # download go (do not install from Debian) $ curl -O https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz # unzip archive $ tar xvf go1.8.linux-amd64.tar.gz # set owner and group (recursive) $ sudo chown -R root:root go # move all into target directory $ sudo mv go /usr/local/
Configure go (for user)
# create hidden go directory $ mkdir ~/.go # configure needed paths (inside .bashrc) $ echo "GOPATH=$HOME/.go" >> ~/.bashrc $ echo "export GOPATH" >> ~/.bashrc $ echo "PATH=\$PATH:/usr/local/go/bin:\$GOPATH/bin" >> ~/.bashrc # reload $ source ~/.bashrc # check go version $ go version go version go1.8 linux/amd64
Install bombardier
# install packages from github $ go get -u github.com/codesenberg/bombardier # show bombardier help $ bombardier --help
Usage/Examples
# run with 5 connections on 10 sec. $ bombardier -c 5 -k https://www.heise.de ... Statistics Avg Stdev Max Reqs/sec 32.44 37.83 201 Latency 152.35ms 72.93ms 1.24s HTTP codes: 1xx - 0, 2xx - 329, 3xx - 0, 4xx - 0, 5xx - 0 others - 0 Throughput: 6.18MB/s ... # run with 10 connections on 5 sec and show latency statistics. $ bombardier -d 5s -c 10 -l -k https://www.heise.de ... Statistics Avg Stdev Max Reqs/sec 56.51 59.10 251 Latency 173.10ms 102.95ms 1.32s Latency Distribution 50% 155.83ms 75% 164.06ms 90% 174.99ms 99% 542.91ms HTTP codes: 1xx - 0, 2xx - 294, 3xx - 0, 4xx - 0, 5xx - 0 others - 0 Throughput: 10.63MB/s ...