What it does
Vegeta is an open-source command-line tool and Go library for constant-rate HTTP load testing. You provide target requests, a rate, and a duration, then summarize or plot the captured response results. Its composable CLI can feed machine-readable reports into scripts and other tools.
Define one or more HTTP targets in the input format, then run an attack with a chosen request rate and duration. Save the binary result stream and pass it to the report command for text, JSON, histogram, or plot output. The same project also exposes a Go library for embedding the attacker and metrics in another program.
Treat the load generator as part of the experiment: the README notes that the maximum supported rate depends on the machine, memory, file-descriptor limits, and process limits. Vegeta generates HTTP traffic rather than modeling browser interaction, so pair it with a browser tool when page rendering or user flows are the subject of the test.
Strengths
- The constant-rate attack model is explicit, with request rate and test duration configurable for a run.
- Target input, binary result streams, text or JSON reports, histograms, and plots work well in shell pipelines.
- The same project offers a Go library for custom load-test programs.
Watch out for
- The achievable request rate is limited by machine resources and operating-system process or file-descriptor limits.
- Vegeta targets HTTP services and does not reproduce browser rendering or end-user interface flows.
Best for
- Teams that need repeatable constant-rate HTTP load against services they control
- Engineers who want concise CLI output or Go-level integration for load-test metrics
Sources
- tsenart/vegeta (Oct 25, 2026)
- README.md - tsenart/vegeta (Oct 25, 2026)
- LICENSE - tsenart/vegeta (Oct 25, 2026)
