oha

HTTP load generator written in Rust that sends requests to a web application and shows live results in a terminal UI, inspired by rakyll/hey.

install

oha is an HTTP load generator written in Rust, built on tokio with a ratatui-based terminal UI. It sends a configurable number of requests (-n, default 200) or runs for a fixed duration (-z, e.g. 10s or 3m) against a target URL, using a set number of concurrent connections (-c, default 50). While running, it displays realtime statistics in the TUI. When finished, it prints a text summary. It is inspired by rakyll/hey, but its -q option sets an overall queries-per-second limit rather than a per-worker limit.

It supports HTTP/1.x, HTTP/2 (with -p for parallel requests per connection), and experimental HTTP/3 through a build feature. Request options include custom methods, headers, bodies (inline, from file, or line by line from file), curl-compatible multipart forms, basic auth, AWS SigV4 signing, proxies, client certificates, unix sockets, and --connect-to DNS overrides. URLs can be read from a file or generated from a regex with --rand-regex-url. Rate control includes --burst-delay and --burst-rate, and --latency-correction addresses coordinated omission when -q is set.

Output can be text, JSON (with a published schema.json), CSV with one line per request, or quiet, and results can be written to a file with -o. Successful requests can be stored in a SQLite database with --db-url, and --debug performs a single request and dumps the request and response. With --no-tui and no -q or --burst-delay, oha uses a faster implementation that avoids the overhead of gathering realtime data. It is aimed at developers and SREs benchmarking web services on Linux, macOS, and Windows.

Installation

# via Homebrew
brew install oha
# via Pacman
pacman -S oha
# via Cargo
cargo install oha

oha running a load test with the realtime TUI

Alternatives & related tools

add a badge to your README

Maintain oha? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/oha.svg)](https://www.trmn.sh/tools/oha?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/oha?utm_source=badge"><img src="https://www.trmn.sh/badge/oha.svg" alt="Featured on trmn" height="20"></a>