# hatoo/oha

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hatoo-oha).**

10,338 stars · 291 forks · Rust · MIT

## Links

- GitHub: https://github.com/hatoo/oha
- awesome-repositories: https://awesome-repositories.com/repository/hatoo-oha.md

## Description

oha is a command line HTTP load testing and benchmarking utility. It functions as a latency analysis tool and performance monitor, sending high volumes of requests to web servers to measure stability and identify performance bottlenecks.

The tool features a terminal user interface that displays real-time latency statistics and request animations during active tests. It includes a mechanism to correct for coordinated omission, ensuring that response time percentiles and latency distributions are reported accurately.

Its capabilities cover HTTP load generation, traffic simulation via randomized target URLs, and request rate control. The project supports secure communication through TLS and mutual TLS, and provides data export options for performance metrics in JSON, CSV, and SQLite formats.

The utility can be executed within containerized environments to maintain consistency across different host systems.

## Tags

### Testing & Quality Assurance

- [HTTP Load Testing](https://awesome-repositories.com/f/testing-quality-assurance/http-load-testing.md) — Provides high-volume HTTP request generation to measure the performance, stability, and bottlenecks of web services.
- [Coordinated Omission Correction](https://awesome-repositories.com/f/testing-quality-assurance/coordinated-omission-correction.md) — Implements a mechanism to correct for coordinated omission, ensuring accurate latency distributions and report statistics.
- [Coordinated Omission Corrections](https://awesome-repositories.com/f/testing-quality-assurance/coordinated-omission-corrections.md) — Implements a correction mechanism for coordinated omission to ensure accurate latency distribution and percentile reporting. ([source](https://github.com/hatoo/oha/blob/master/README.md))
- [HTTP Endpoint Benchmarking](https://awesome-repositories.com/f/testing-quality-assurance/http-endpoint-benchmarking.md) — Measures the performance and response speed of HTTP endpoints using high-volume request loads.
- [Web Application Benchmarking](https://awesome-repositories.com/f/testing-quality-assurance/web-application-benchmarking.md) — Calculates response time statistics and latency percentiles to identify performance bottlenecks in web applications.
- [Dynamic Traffic Generation](https://awesome-repositories.com/f/testing-quality-assurance/dynamic-traffic-generation.md) — Produces varied request patterns by utilizing URL lists from files or regular expression generation. ([source](https://github.com/hatoo/oha/blob/master/CHANGELOG.md))
- [HTTP Traffic Simulation](https://awesome-repositories.com/f/testing-quality-assurance/http-traffic-simulation.md) — Mimics diverse user patterns by randomizing target URLs and creating sporadic bursts of network traffic.

### Networking & Communication

- [Request Rate Controllers](https://awesome-repositories.com/f/networking-communication/connection-managers/throughput-controllers/request-rate-controllers.md) — Regulates traffic flow using fixed queries-per-second, burst modes, or unlimited rates. ([source](https://github.com/hatoo/oha/blob/master/CHANGELOG.md))
- [HTTP Request Dispatchers](https://awesome-repositories.com/f/networking-communication/http-request-dispatchers.md) — Implements concurrent HTTP request dispatching to saturate target servers and measure performance under heavy load.
- [Target URL Randomization](https://awesome-repositories.com/f/networking-communication/target-url-randomization.md) — Allows simulating diverse user traffic by selecting target endpoints from local files or using regular expression patterns.

### Software Engineering & Architecture

- [Latency Histograms](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/latency-optimization/latency-histograms.md) — Generates detailed response time histograms and performance data to calculate accurate latency percentiles.
- [Request Rate Limiting](https://awesome-repositories.com/f/software-engineering-architecture/traffic-management/request-rate-limiting.md) — Regulates outgoing request flow using a timing mechanism to maintain a specific queries-per-second target.

### System Administration & Monitoring

- [Latency Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/log-analysis-tools/latency-monitoring.md) — Provides real-time measurement and tracking of request response times to identify performance bottlenecks. ([source](https://github.com/hatoo/oha/blob/master/CHANGELOG.md))
- [Real-time Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/real-time-performance-monitoring.md) — Provides a terminal-based interface for tracking live system metrics and request latency during a load test.

### Development Tools & Productivity

- [Burst Traffic Simulators](https://awesome-repositories.com/f/development-tools-productivity/execution-throttling/network-throttling/burst-traffic-simulators.md) — Simulates sporadic network traffic spikes by sending rapid groups of requests with specific interval delays. ([source](https://github.com/hatoo/oha#readme))

### Security & Cryptography

- [Mutual TLS Configurations](https://awesome-repositories.com/f/security-cryptography/mutual-tls-configurations.md) — Supports secure transport layers using mutual TLS and custom signatures for authenticated requests to protected endpoints.
- [SSL/TLS Connection Security](https://awesome-repositories.com/f/security-cryptography/ssl-tls-connection-security.md) — Establishes secure transport layers using TLS and mutual TLS to encrypt data during transmission. ([source](https://github.com/hatoo/oha/blob/master/CHANGELOG.md))

### User Interface & Experience

- [Real-time Performance Dashboards](https://awesome-repositories.com/f/user-interface-experience/navigation-systems/tui/real-time-performance-dashboards.md) — Features a terminal user interface that displays live latency statistics and request animations during active tests.

### Web Development

- [Body Streaming](https://awesome-repositories.com/f/web-development/request-body-handling/body-streaming.md) — Reads request bodies incrementally from files to maintain low memory usage during high-volume load tests.
- [Randomized Target Selection](https://awesome-repositories.com/f/web-development/url-targeters/randomized-target-selection.md) — Selects random web addresses from text files or regular expressions to simulate varied user access patterns. ([source](https://github.com/hatoo/oha#readme))

### Part of an Awesome List

- [Networking and Internet](https://awesome-repositories.com/f/awesome-lists/data/networking-and-internet.md) — Load testing and monitoring tool for HTTP traffic.
