HTTP(S) benchmarking tool written in Golang
Boom is a HTTP(S) benchmarking tool written in Golang. Because of its lightning fast performance you can test any real world applications using this wonderfull benchmarking tool.
To get the latest and greatest run:
go get -u github.com/Ashwin-Rajeev/boom
Usage: boom [<flags>] <url>
-help know more about the usage of boom (Default value = false)
-d Request duration (Default value = 5)
-g Number of concurrent connections (Default value = 5)
-b Request body file name (Relative path) (Default value = )
-h header values separated with ';' (Default value = )
-m Request method (Default value = GET)
-multi Use multiple request mode (Default value = false)
-to Request time out in milli seconds (Default value = 1000)
> boom -d 10 -g 20 https://www.google.com/ Boom running for 10s over the api: https://www.google.com/ 20 Active Concurrent connections! 10 / 10 [--------------------------------------------------------------] 100.00% | Statistics | value | | ================================== | + Total Reqs 1424 + Fastest Reqs 128.59929ms + Slowest Reqs 273.003861ms + Average Reqs 1.026262071s + Error Count 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ― | Status Code | Count | | ================================== | + 1XX 0 + 2XX 1424 + 3XX 0 + 4XX 0 + 5XX 0 + Others 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ―
> boom -d 10 -g 20 -m POST -b body.json https://www.sample.com/ Boom running for 10s over the api: https://www.google.com/ 20 Active Concurrent connections! 10 / 10 [--------------------------------------------------------------] 100.00% | Statistics | value | | ================================== | + Total Reqs 1424 + Fastest Reqs 128.59929ms + Slowest Reqs 273.003861ms + Average Reqs 1.026262071s + Error Count 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ― | Status Code | Count | | ================================== | + 1XX 0 + 2XX 1600 + 3XX 0 + 4XX 0 + 5XX 0 + Others 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ―
> boom --mul -d 10 -g 20 -b body.json Boom running for 10s over the api: 20 Active Concurrent connections! 10 / 10 [--------------------------------------------------------------] 100.00% | Statistics | value | | ================================== | + Total Reqs 1424 + Fastest Reqs 128.59929ms + Slowest Reqs 273.003861ms + Average Reqs 1.026262071s + Error Count 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ― | Status Code | Count | | ================================== | + 1XX 0 + 2XX 1600 + 3XX 0 + 4XX 0 + 5XX 0 + Others 0 ― ― ― ― ― ― ― ― ― ― ―― ― ― ― ― ― ― ― ―
sample_request.json
[
{
"url": "http://www.sample.com",
"method": "PUT",
"body": {
"a": "1",
"b": "2"
},
"header": {
"key": "value"
}
},
{
"url": "http://www.sample.com",
"method": "POST",
"body": {
"a": 1,
"b": 2
},
"header": {
"key1": "value1",
"key2": "value2"
}
}
]
Golang should be installed on your computer, boom is compatible with go1.12 and above
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Email : ashwinrajeev916@gmail.com
GitHub : https://github.com/Ashwin-Rajeev
Website : https://ashwinrajeev.com