Awesome
thrash
Golang HTTP Micro Benchmarker
Run Via Docker
docker run --rm tbrock/thrash
Usage
Usage: ./thrash [flags] url
-c int
how much concurrency (default 1)
-e print errors
-h print response time histogram
-n int
how many requests (default 100)
-p start the profile server on port 6060
-t duration
request timeout in MS (default 1m0s)
Example and Output
$ thrash -c 10 -h https://fakedomainzthatdonotexist.com/ping
Thrashing https://fakedomainzthatdonotexist.com/ping
Concurrency 10 Num Requests 100
100 / 100 [--------------------------------------------------------------------------------------] 100.00% 60 p/s
Responses OK: 100% (100/100), Errors: 0
Status Codes: {"200":100}
Bytes Transferred: 1,300
Avg Response Time: 152.603877ms
Min Response Time 86.801591ms
Max Response Time 531.204362ms
( 83%) ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ [86.801591ms - 197.902283ms]
( 1%) [197.902283ms - 309.002975ms]
( 8%) ∎∎∎∎ [309.002975ms - 420.103667ms]
( 7%) ∎∎∎ [420.103667ms - 531.204359ms]
( 1%) [531.204359ms - 642.305051ms]