whatisgithub

What is oha?

hatoo/oha — explained in plain English

Analysis updated 2026-06-24

10,244RustAudience · ops devopsComplexity · 1/5Setup · easy

In one sentence

oha is a fast, single-binary command-line tool for load testing web applications, point it at a URL, set a request count and concurrency level, and watch live latency and throughput stats in your terminal.

Mindmap

mindmap
  root((oha))
    What it does
      Sends many requests
      Live terminal dashboard
      Latency histograms
    Features
      HTTP 1 2 and 3
      Rate limiting
      Regex URL patterns
      Latency correction
    Installation
      Homebrew on Mac
      Cargo for Rust users
      Docker image
    Audience
      Developers
      DevOps teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Load test a web API to find its maximum requests-per-second capacity before a production release.

USE CASE 2

Benchmark a server's latency distribution under concurrent load to catch performance regressions.

USE CASE 3

Test endpoints with varying paths in a single run by generating target URLs from a regex pattern.

What is it built with?

Rust

How does it compare?

hatoo/ohaseanmonstar/warpfoundry-rs/foundry
Stars10,24410,31710,343
LanguageRustRustRust
Setup difficultyeasymoderatemoderate
Complexity1/53/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

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.

Copy-paste prompts

Prompt 1
Using oha, write the command to send 5000 requests to https://api.example.com/health with 50 concurrent connections and cap the rate at 200 requests per second.
Prompt 2
How do I run a 60-second time-limited load test with oha instead of a fixed request count, and what flags do I need?
Prompt 3
Show me an oha command that adds a custom Authorization header and sends a JSON POST body to my API endpoint.
Prompt 4
How does oha's latency correction flag work and when should I enable it to get more accurate results?

Frequently asked questions

What is oha?

oha is a fast, single-binary command-line tool for load testing web applications, point it at a URL, set a request count and concurrency level, and watch live latency and throughput stats in your terminal.

What language is oha written in?

Mainly Rust. The stack also includes Rust.

How hard is oha to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is oha for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.