FREEDOM251

Freedom251 › Performance Testing Software

Vegeta

Free plan APILinuxMacSelf-hostedWindows

Visit Vegeta Alternatives Pricing

Vegeta's own site

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

PlanBilled and limitsPrice
FreeOpen-source HTTP load testing tool and Go libraryFree

As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Vegeta GitHub repository.
  2. Choose a precompiled executable, an available package for your system, or build from source.
  3. Install with Homebrew or MacPorts on macOS, or use an Arch Linux or FreeBSD package where applicable.
  4. Use the CLI for command line load tests or the Go library from a Go program.
  5. 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

Look at these too