✓ Uses Rust 2018 edition
|new 0.2.1||Mar 29, 2020|
|0.2.0||Mar 28, 2020|
|0.1.11||Mar 24, 2020|
#10 in Profiling
171 downloads per month
oha is a tiny program that sends some load to a web application and show realtime tui inspired by rakyll/hey.
This program is built on stable Rust.
$ cargo install oha
- Linux - Tested on Ubuntu 18.04 gnome-terminal
- Windows 10 - Tested on Windows Powershell
- MacOS - Tested on iTerm2
-q option works different from rakyll/hey. It's set overall query per second instead of for each workers.
oha 0.2.0 hatoo <email@example.com> Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation. USAGE: oha [FLAGS] [OPTIONS] <url> FLAGS: --no-tui No realtime tui --disable-compression Disable compression. --tcp-nodelay Set that all sockets have TCP_NODELAY --disable-keepalive Disable keep-alive, prevents re-use of TCP connections between different HTTP requests. -h, --help Prints help information -V, --version Prints version information OPTIONS: -n <n-requests> Number of requests to run. [default: 200] -c <n-workers> Number of workers to run concurrently. You may should increase limit to number of open files for larger `-c`. [default: 50] -z <duration> Duration of application to send requests. If duration is specified, n is ignored. Examples: -z 10s -z 3m. -q <query-per-second> Rate limit for all, in queries per second (QPS) --fps <fps> Frame per second for tui. [default: 16] -m, --method <method> HTTP method [default: GET] -H <headers>... Custom HTTP header. Examples: -H "foo: bar" -t <timeout> Timeout for each request. Default to infinite. -A <accept-header> HTTP Accept Header. -d <body-string> HTTP request body. -D <body-path> HTTP request body from file. -T <content-type> Content-Type. -a <basic-auth> Basic authentication, username:password --http-version <http-version> HTTP version. Available values 0.9, 1.0, 1.1, 2. --host <host> HTTP Host header ARGS: <url> Target URL.
Feel free to help us!
Here are some issues to improving.
- Write tests
- Improve tui design.
- Show more information?
- There are no color in realtime tui now. I want help from someone who has some color sense.
- Improve speed
- I'm new to tokio. I think there are some space to optimize query scheduling.
- Output like CSV or JSON format.
- Improve histogram in summary output
- It uses very simple algorithm now.