Awesome
goku
Overview
goku is a HTTP load testing application written in Rust
(This is inspired by vegeta!)
Demo
Installation
Pre-compiled executables
Get them here
curl -L -o goku.tar.gz https://github.com/k-nasa/goku/releases/download/0.1.1/goku_x86_64-apple-darwin.tar.gz
tar -zxvf goku.tar.gz
# Move binary file to the path
using homebrew
brew install k-nasa/tap/goku
using cargo
cargo install goku
Installation of cargo itself.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Usage
goku 0.1.0
goku is a HTTP load testing application written in Rust
USAGE:
goku [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
help Show help
kamehameha Run load test [aliases: attack]
Example
kamehameha
Send 10,000 requests to 127.0.0.1:8080 in 10 parallel (There is an attack alias because hitting 'kamehameka' is awkward.)
goku kamehameha -c 10 -n 10000 'http://127.0.0.1:8080'
# or goku attack -c 10 -n 10000 'http://127.0.0.1:8080'
Output in json and text is possible. When combined with jq, the display can be made beautiful.
goku kamehameha -c 10 -n 10000 'http://127.0.0.1:8080' -o json | jq .
{
"errors": [],
"concurrency_level": 10,
"time_taken_test": {
"secs": 2,
"nanos": 209216142
},
"complete_requests": 10000,
"failed_requests": 0,
"total_transferred": 1290000,
"total_time": {
"secs": 22,
.
.
.
Contribution
- Fork it ( http://github.com/k-nasa/goku )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request