# vegeta

> HTTP load testing CLI tool that generates constant request rates with comprehensive reporting and UNIX composability

Stars: 25.2k · Language: Go · License: MIT · Categories: Network

- Repository: https://github.com/tsenart/vegeta
- Website: http://godoc.org/github.com/tsenart/vegeta/lib
- Page: https://www.trmn.sh/tools/vegeta

## Install

- Homebrew: `brew update && brew install vegeta`
- Arch Linux: `pacman -S vegeta`
- FreeBSD: `pkg install vegeta`

## Overview

Vegeta is an HTTP load testing tool that generates requests at a constant rate against target services. It operates as both a CLI tool and Go library, designed with UNIX composability principles to integrate well into testing pipelines. The tool avoids Coordinated Omission problems that affect measurement accuracy in other load generators.

The attack command accepts targets from stdin or files in HTTP or JSON format, supporting custom headers, bodies, and authentication. It can maintain persistent connections, handle HTTP/2, and includes options for TLS configuration, DNS caching, and connection pooling. Rate limiting is configurable per time unit, and the tool can run for specified durations or indefinitely.

Vegeta provides extensive reporting capabilities through separate encode, plot, and report commands. Results can be output as text summaries, JSON metrics, histograms with custom buckets, or HTML plots. The binary output format enables chaining commands together using pipes, allowing users to generate attacks and immediately analyze results or save them for later processing.

### Installation

```bash
# via Homebrew
brew update && brew install vegeta
```

```bash
# via Arch Linux
pacman -S vegeta
```

```bash
# via FreeBSD
pkg install vegeta
```

![Vegeta logo](https://media.trmn.sh/cached/7f3af1e6af54687e6e80ac55f2e9669f179347f81b30c4d420b2db1cc6978487.png)

## Alternatives

- [hey](https://www.trmn.sh/tools/hey.md): HTTP load testing tool that sends concurrent requests to web applications and reports performance metrics (Go, 20.8k 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)
- [nuclei](https://www.trmn.sh/tools/nuclei.md): YAML template-based vulnerability scanner for web apps, APIs, networks, DNS and cloud, with TCP, HTTP, DNS, SSL, WHOIS and JavaScript protocols. (Go, 32.5k stars)
- [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)
- [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)

## Guides

- [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/vegeta
