# hey

> HTTP load testing tool that sends concurrent requests to web applications and reports performance metrics

Stars: 20.8k · Language: Go · License: Apache-2.0 · Categories: Network

- Repository: https://github.com/rakyll/hey
- Page: https://www.trmn.sh/tools/hey

## Install

- Homebrew: `brew install hey`

## Overview

hey is a command-line HTTP load testing tool that sends configurable numbers of requests to web applications and measures their performance. It runs requests with specified concurrency levels and provides detailed statistics about response times, throughput, and success rates.

The tool supports both HTTP/1.1 and HTTP/2 protocols and offers extensive configuration options including custom headers, authentication, request bodies, rate limiting, and proxy support. Users can specify the number of requests (-n), concurrency level (-c), test duration (-z), and various HTTP parameters like methods, headers, and timeouts.

hey targets developers, DevOps engineers, and system administrators who need to perform load testing and capacity planning for web services. It provides both summary output and CSV export for analysis, making it suitable for both quick manual testing and automated performance monitoring workflows.

### Installation

```bash
# via Homebrew
brew install hey
```

![hey logo](https://media.trmn.sh/cached/8ae85a93a0b4669b7c82f683d2c696f7bd8e1c6388e532f7a1f23051738b70d2.png)

## Alternatives

- [katana](https://www.trmn.sh/tools/katana.md): Go-based web crawler from ProjectDiscovery with standard and headless Chrome modes, JavaScript endpoint parsing, scope control, and JSON output for pipelines. (Go, 17.8k stars)
- [vegeta](https://www.trmn.sh/tools/vegeta.md): HTTP load testing CLI tool that generates constant request rates with comprehensive reporting and UNIX composability (Go, 25.2k stars)
- [subfinder](https://www.trmn.sh/tools/subfinder.md): Passive subdomain enumeration tool written in Go that queries online sources, with JSON output, wildcard elimination, and STDIN/STDOUT support. (Go, 14.7k stars)
- [Gobuster](https://www.trmn.sh/tools/gobuster.md): Go-based brute-forcing tool for web directories/files, DNS subdomains, virtual hosts, S3/GCS buckets, TFTP files, and custom fuzzing. (Go, 14.3k stars)
- [wttr.in](https://www.trmn.sh/tools/wttr-in.md): Console-oriented weather service queried with curl, httpie, or wget. Returns ANSI, plain text, HTML, PNG, JSON, or Prometheus output. (Go, 30.7k stars)

## Guides

- [Best Command-Line Benchmarking Tools](https://www.trmn.sh/best/benchmarking-tools): Compare hyperfine, wrk, hey and dnspyre for timing shell commands, HTTP endpoints and DNS servers from the command line.
- [Best HTTP Load Testing CLI Tools](https://www.trmn.sh/best/http-load-testing-tools): Compare wrk, vegeta, k6 and hey for HTTP load testing: requests per second, latency percentiles, constant-rate attacks and scripting.

---

Canonical: https://www.trmn.sh/tools/hey
