vegeta

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

install

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

# via Homebrew
brew update && brew install vegeta
# via Arch Linux
pacman -S vegeta
# via FreeBSD
pkg install vegeta

Vegeta logo

Alternatives & related tools

add a badge to your README

Maintain vegeta? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/vegeta.svg)](https://www.trmn.sh/tools/vegeta?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/vegeta?utm_source=badge"><img src="https://www.trmn.sh/badge/vegeta.svg" alt="Featured on trmn" height="20"></a>