TL;DR — Quick Summary
oha is a tiny HTTP load generator with a real-time TUI. Like wrk/hey but with live latency histograms, status code distribution, and request rate visualization.
oha is load testing with a TUI. Live latency histograms, request rates, status codes — watch your server under pressure.
Installation
# macOS
brew install oha
# Cargo
cargo install oha
Usage
# Basic load test (200 requests, 50 concurrency)
oha http://localhost:8080
# Custom concurrency
oha -c 100 http://localhost:8080
# Duration-based
oha -z 30s http://localhost:8080
# Total requests
oha -n 10000 http://localhost:8080
# Rate limiting
oha --rate 500 http://localhost:8080
# HTTP/2
oha --http2 https://example.com
# POST with body
oha -m POST -d '{"key":"value"}' -H "Content-Type: application/json" http://localhost:8080/api
# Custom headers
oha -H "Authorization: Bearer token123" http://localhost:8080
# Disable TUI (summary only)
oha --no-tui http://localhost:8080
# JSON output
oha -j http://localhost:8080
Summary
- oha is a tiny HTTP load generator with real-time TUI
- Live latency histograms, status codes, throughput visualization
- HTTP/1.1 and HTTP/2 support
- Rate limiting, custom headers, POST bodies
- Written in Rust — fast and lightweight