oha is a tiny program that sends some load to a web application and show realtime tui inspired by rakyll/hey.
This program is written in Rust and powered by tokio and beautiful tui by tui-rs.
This program is built on stable Rust.
cargo install oha
pacman -S oha
brew install oha
echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
apt update
apt install oha
-q
option works different from rakyll/hey. It's set overall query per second instead of for each workers.
``` oha 0.4.7 hatoo hato2000@gmail.com Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.
USAGE:
oha [FLAGS] [OPTIONS]
FLAGS: --latency-correction Correct latency to avoid coordinated omission probrem. It's ignored if -q is not set. --no-tui No realtime tui --disable-compression Disable compression. --disable-keepalive Disable keep-alive, prevents re-use of TCP connections between different HTTP requests. --ipv6 Lookup only ipv6. --ipv4 Lookup only ipv4. --insecure Accept invalid certs. -h, --help Prints help information -V, --version Prints version information
OPTIONS:
-n -c
. [default: 50]
-z
ARGS:
oha
uses default options inherited from rakyll/hey but you may need to change options to stress test in more realistic condition.
I suggest to run oha
with following options.
oha <-z or -n> -c <number of concurrent connections> -q <query per seconds> --latency-correction --disable-keepalive <target-address>
--disable-keepalive
In real, user doesn't query same URL using Keep-Alive. You may want to run without Keep-Alive
.
--latency-correction
You can avoid Coordinated Omission Problem
by using --latency-correction
.
Feel free to help us!
Here are some issues to improving.