# rakyll/hey

**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/rakyll-hey).**

19,772 stars · 1,284 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/rakyll/hey
- awesome-repositories: https://awesome-repositories.com/repository/rakyll-hey.md

## Description

This project is a command-line utility designed for HTTP load testing and network stress testing. It functions as a benchmarking tool that generates high volumes of concurrent traffic to evaluate the performance, reliability, and throughput capacity of web applications and APIs under sustained load.

The tool allows for precise control over traffic generation by enabling users to configure request parameters, including custom headers, authentication credentials, and specific HTTP methods. It manages load through a worker-pool system that regulates request frequency, allowing for both time-bound tests and fixed-request benchmarking to observe system behavior under varying levels of network demand.

Upon completion of a test, the utility performs statistical aggregation to report performance metrics such as response latency, distribution percentiles, and success rates. These results can be exported into structured formats to facilitate the analysis of server infrastructure and the identification of performance bottlenecks.

The software is distributed as a static binary, ensuring consistent execution across different operating systems and computing environments.

## Tags

### Testing & Quality Assurance

- [Load Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing/load-testing-tools.md) — Generates concurrent HTTP traffic to measure web server performance, latency, and throughput under stress.
- [API Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-network-testing/api-testing.md) — Validates API stability and reliability under high-concurrency authenticated stress.
- [Workload Stress Testers](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/automated-test-generators/stress-testing/workload-stress-testers.md) — Simulates high-volume client activity to evaluate the capacity and reliability of web applications and APIs.
- [Test Execution Controls](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-execution-controls.md) — Supports time-bound test execution to observe system stability under sustained load. ([source](https://github.com/rakyll/hey#readme))

### Software Engineering & Architecture

- [Performance Benchmarking](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/performance-benchmarking.md) — Executes configurable HTTP requests to analyze response statistics and system stability as a primary benchmarking tool.
- [Latency Histograms](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-engineering/latency-optimization/latency-histograms.md) — Aggregates response time data to calculate performance percentiles and latency distributions.
- [Worker Pool Models](https://awesome-repositories.com/f/software-engineering-architecture/worker-pool-models.md) — Manages load using a worker-pool model to regulate request frequency and concurrency.
- [Download Throughput Controls](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/download-throughput-controls.md) — Provides configurable controls for managing request concurrency and throughput during network load testing operations.

### Development Tools & Productivity

- [Static Binaries](https://awesome-repositories.com/f/development-tools-productivity/static-binaries.md) — Distributes as a self-contained static binary to ensure consistent execution across environments.

### Networking & Communication

- [HTTP Servers](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers.md) — Generates high-volume concurrent HTTP load on target servers to measure throughput. ([source](https://github.com/rakyll/hey/search))
- [Network Traffic Analyzers](https://awesome-repositories.com/f/networking-communication/network-traffic-analyzers.md) — Analyzes traffic statistics to report latency, distribution, and success rates. ([source](https://github.com/rakyll/hey/search))
- [Application Layer Load Balancing](https://awesome-repositories.com/f/networking-communication/application-layer-load-balancing.md) — Sends concurrent requests to measure application performance over a set duration. ([source](https://github.com/rakyll/hey/blob/master/README.md))

### DevOps & Infrastructure

- [Traffic Throttling](https://awesome-repositories.com/f/devops-infrastructure/traffic-management/traffic-throttling.md) — Throttles request throughput per worker to control traffic volume during testing. ([source](https://github.com/rakyll/hey#readme))

### Programming Languages & Runtimes

- [Goroutine Pools](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/task-orchestration-frameworks/thread-pools/goroutine-pools.md) — Uses lightweight goroutines to manage high-concurrency network request execution.

### Security & Cryptography

- [API Request Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/api-request-authentication.md) — Injects authentication credentials into request headers to test protected endpoints. ([source](https://github.com/rakyll/hey/blob/master/hey_test.go))

### System Administration & Monitoring

- [Parallel Network I/O](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o.md) — Employs asynchronous I/O to handle high-throughput network traffic efficiently.
