oha (おはよう)

GitHub Actions Crates.io AUR Homebrew

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.

demo

Installation

This program is built on stable Rust.

cargo install oha

On Arch Linux

yay -S oha

On macOS (Homebrew)

brew install oha

Platform

Usage

-q option works different from rakyll/hey. It's set overall query per second instead of for each workers.

```bash oha 0.3.1 hatoo hato2000@gmail.com Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.

USAGE: oha [FLAGS] [OPTIONS]

FLAGS: --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 Number of requests to run. [default: 200] -c Number of workers to run concurrently. You may should increase limit to number of open files for larger -c. [default: 50] -z Duration of application to send requests. If duration is specified, n is ignored. Examples: -z 10s -z 3m. -q Rate limit for all, in queries per second (QPS) --fps Frame per second for tui. [default: 16] -m, --method HTTP method [default: GET] -H ... Custom HTTP header. Examples: -H "foo: bar" -t Timeout for each request. Default to infinite. -A HTTP Accept Header. -d HTTP request body. -D HTTP request body from file. -T Content-Type. -a Basic authentication, username:password --http-version HTTP version. Available values 0.9, 1.0, 1.1, 2. --host HTTP Host header

ARGS: Target URL. ```

Contribution

Feel free to help us!

Here are some issues to improving.