Freedom251 › Performance Testing Software
Vegeta

What Vegeta is
Vegeta is a free, open-source HTTP load-testing tool that sends requests at a constant rate. It works as a command-line program or a Go library, and its CLI is designed to combine with other UNIX tools. The project says it avoids coordinated omission and can be used for distributed load testing. Results can be encoded as CSV, Gob, or JSON; reports can be produced as text, JSON, histograms, or HDR plots. An optional Prometheus exporter address is available with the attack command. The CLI supports HTTP/2 when the server does, including HTTP/2 over TCP without TLS. For TLS, it accepts client certificates and keys, custom root certificates, and an option to ignore invalid server certificates. The documented default request timeout is 30 seconds, and setting it to zero disables timeouts. Vegeta is available for Linux, macOS, and Windows, as well as API use and self-hosting. The repository lists the MIT license. Its README cautions that an unlimited request rate combined with a very high worker limit can use excessive resources and crash the tool.
Who it suits
Vegeta suits developers and operators who need to generate constant-rate HTTP load, including for distributed testing. Its CLI and Go library offer two ways to incorporate it into a workflow.
What it does well
- Sends requests at a constant rate.
- Available as a CLI or Go library.
- Supports distributed load testing.
- Produces several report and result formats.
- Offers HTTP/2 and TLS controls.
What to know first
- Default request timeout is 30 seconds.
- Unlimited rate and high worker limits can cause crashes.
Limits
The documented default request timeout is 30 seconds, though setting it to 0 disables timeouts. The project warns that combining an unlimited request rate with a very high maximum worker count can consume too many resources and crash Vegeta.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free | Open-source HTTP load testing tool and Go library | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Vegeta GitHub repository.
- Choose a precompiled executable, an available package for your system, or build from source.
- Install with Homebrew or MacPorts on macOS, or use an Arch Linux or FreeBSD package where applicable.
- Use the CLI for command line load tests or the Go library from a Go program.
- Set the request timeout as needed; a value of 0 disables timeouts.
Verdict
Vegeta combines constant-rate HTTP load generation with multiple output formats and HTTP/2 and TLS controls. Its documented resource warning is worth considering when configuring request rates and worker counts.
Questions
Is Vegeta free?
Yes. Vegeta is open source, and its listed Free plan costs nothing.
What license does Vegeta use?
The repository identifies its license as MIT.
Which operating systems does Vegeta support?
Vegeta is listed for Linux, macOS, and Windows, as well as API use and self-hosting.
Can Vegeta run distributed load tests?
Yes. The project describes it as usable for distributed load testing.
Who maintains Vegeta?
GitHub identifies the repository owner and maintainer as Tomás Senart.
What is Vegeta's default request timeout?
The documented default is 30 seconds. Setting the timeout to 0 disables timeouts.
Facts from Vegeta's own pages
- CLI and library
- Vegeta can be used as a command-line tool or as a Go library. · github.com, 11 Oct 2026
- Composability
- The CLI is designed with UNIX composability in mind. · github.com, 11 Oct 2026
- Distributed testing
- The README describes Vegeta as simple to use for distributed load testing. · github.com, 11 Oct 2026
- Installation
- The README lists precompiled executables, Homebrew and MacPorts for macOS, pacman for Arch Linux, and a FreeBSD package. · github.com, 11 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 11 Oct 2026
- Load measurement
- Vegeta avoids coordinated omission and provides reporting functionality. · github.com, 11 Oct 2026
- Load testing
- The project says Vegeta avoids coordinated omission and can be used for distributed load testing. · github.com, 4 Oct 2026
- Maintainer
- GitHub identifies Tomás Senart as the repository owner and maintainer. · github.com, 11 Oct 2026
- Maker
- The repository owner profile identifies tsenart as Tomás Senart. · github.com, 4 Oct 2026
- Output formats
- Vegeta can encode results as CSV, Gob, or JSON, and generate text, JSON, histogram, or HDR plot reports. · github.com, 11 Oct 2026
- Prometheus
- The attack command can expose a Prometheus exporter when a listen address is configured. · github.com, 11 Oct 2026
- Protocols
- The attack command supports HTTP/2 when the server supports it, and can send HTTP/2 over TCP without TLS encryption. · github.com, 11 Oct 2026
- Purpose
- Vegeta is an HTTP load testing tool built to test HTTP services at a constant request rate. · github.com, 11 Oct 2026
- Reports
- Its report command supports text, JSON, histogram, and HDR plot output. · github.com, 4 Oct 2026
- Resource limit
- The README warns that combining an unlimited request rate with a very high maximum worker count can consume too many resources and crash Vegeta. · github.com, 11 Oct 2026
- TLS
- The attack command supports client certificates and keys, custom root certificates, and an option to ignore invalid server certificates. · github.com, 4 Oct 2026
- TLS controls
- The attack command accepts TLS client certificates and keys, custom root certificate files, and a flag to ignore invalid server certificates. · github.com, 11 Oct 2026
- Usage limit
- The documented default request timeout is 30 seconds, and setting it to 0 disables timeouts. · github.com, 4 Oct 2026
Where Vegeta stands on Freedom251
- Performance Testing Software#19 of 38