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