hurl
provides a suite of network benchmarking and result analytic tools.
You can start using hurl
with commands similar to Apache Bench ab
, but as your needs grow, it exposes a framework for more complicated and large scale test plans, including distributing work across many machines.
Installation
go install github.com/pquerna/hurl/hurl
Running
hurl http
supports most of the basic arguments from Apache Bench. A simple example:
# hurl http -c 100 -n 10000 http://127.0.0.1/
Concurrency Level: 100
Time Taken: 867.486578ms
Document Length: 612
Percentage of the requests served within a certain time (ms)
Min 2.318614ms
Mean 7.947689ms
50% 6.629707ms
66% 7.162523ms
75% 7.548412ms
80% 7.784365ms
90% 8.542364ms
95% 10.286918ms
98% 13.771837ms
99% 16.87096ms
100% 1.083432462s (longest request)
Would run 100 concurrent clients until 10,000 requests have been completed against http://127.0.0.1/
.
Not just HTTP!
hurl
also can benchmark other services, like MongoDB:
hurl swift -u ${SWIFT_USER} -k ${SWIFT_APIKEY} load
Available Tasks:
Improving, adding features, taking hurl new directions!
Please open issues in Github for ideas, bugs, and general thoughts. Pull requests are of course preferred :)
License
hurl
is licensed under the Apache License, Version 2.0