bombardier adalah alat pembandingan HTTP(S). Itu ditulis dalam bahasa pemrograman Go dan menggunakan fasthttp yang sangat baik daripada perpustakaan http default Go, karena kinerjanya yang sangat cepat.
Dengan bombardier v1.1
dan lebih tinggi, Anda kini dapat menggunakan klien net/http
jika Anda perlu menguji layanan HTTP/2.x atau ingin menggunakan klien HTTP yang lebih sesuai dengan RFC.
Diuji pada go1.18 dan lebih tinggi.
Anda dapat mengambil binari di bagian rilis. Alternatifnya, untuk menjalankan versi terbaru dan terhebat:
Mulai 1.18+: go install github.com/codesenberg/bombardier@latest
bombardier [<flags>] <url>
Untuk informasi lebih rinci tentang bendera, konsultasikan dengan GoDoc.
AFAIK, tidak mungkin meneruskan header Host dengan benar fasthttp
, Anda dapat menggunakan net/http
( --http1
/ --http2
flags) untuk mengatasi masalah ini.
Contoh menjalankan bombardier
terhadap server ini:
> 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
Atau, terhadap server dunia nyata (dengan distribusi latensi):
> 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