Load test a web API to find its maximum requests-per-second capacity before a production release.
Benchmark a server's latency distribution under concurrent load to catch performance regressions.
Test endpoints with varying paths in a single run by generating target URLs from a regex pattern.
oha is a command-line tool for load testing web applications. You point it at a URL, tell it how many requests to send and how many connections to use at once, and it hammers the server while showing you a live dashboard in the terminal. The dashboard updates in real time as the test runs, showing request rates, latency distributions, response codes, and a histogram of response times. It is written in Rust, which makes it fast and easy to install as a single binary. You can install it via Homebrew on Mac, winget on Windows, pacman on Arch Linux, or a simple cargo command if you have Rust already installed. Pre-built binaries are available on the releases page for all major platforms. The tool supports HTTP/1, HTTP/2, and experimental HTTP/3. You can control the number of requests to send, set a time limit instead of a request count, cap the request rate in queries per second, add custom headers, send request bodies, and use basic authentication. There is an option to generate target URLs from a regular expression pattern, which lets you test endpoints with varying paths in a single run. One feature called latency correction addresses a statistical problem common in load testing where fast responses are underrepresented because slow requests block the sampling. Enabling this flag gives a more accurate picture of actual latency under load. The name comes from the Japanese greeting ohayou, meaning good morning. The project is named in that spirit and is open source. A Docker image is available if you prefer running it in a container rather than installing it directly.
← hatoo on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.