Vegeta
HTTP load testing CLI written in Go — simple, fast, and pipeable.
Pricing
Free / Open source
Type
Automation
Languages
Go
// VERDICT
Reach for Vegeta when you want a fast, fixed-rate HTTP benchmark with clean latency percentiles, scriptable from the shell. Skip it when you need multi-step journeys, scenario logic, or a full load-testing framework (k6/Gatling/JMeter).
Best for
Quick, constant-rate HTTP load testing from the command line - a small Go tool that hammers an endpoint at a fixed requests-per-second and reports latency percentiles, ideal for fast benchmarks.
Avoid when
You need multi-step user journeys, complex scenarios, or a full scenario-scripting framework.
CI/CD fit
Vegeta CLI · shell / Makefile · GitHub Actions · GitLab CI
Languages
Go
Team fit
Engineers wanting quick benchmarks · SREs · Teams checking a single endpoint's limits
Setup
Maintenance
Learning
Licence
// BEST FOR
- Hitting an endpoint at a precise constant request rate
- Fast latency-percentile reports (p50/p95/p99) from the CLI
- Quick capacity sanity checks without a full framework
- Scripting benchmarks into shell/Makefile workflows
- A single static binary with no runtime to install
- Constant-arrival-rate testing (not just fixed VUs)
// AVOID WHEN
- You need multi-step user journeys or scenario logic
- You want a full scenario-scripting framework (k6/Gatling)
- You need a GUI or business-tester-friendly tool
- Complex correlations/auth flows are required
- A managed enterprise platform is the requirement
- You want rich dashboards rather than CLI output
// QUICK START
echo "GET https://test.example.com/" | \
vegeta attack -rate=100 -duration=30s | vegeta report// ALTERNATIVES TO CONSIDER
// FEATURES
- Constant-rate request model (RPS-based, not VUs)
- Plain-text targets file or piped input
- Multiple report formats — text, JSON, histogram, plot
- Composable via Unix pipes
- Go library API for embedded use
- Cluster mode for distributed attacks
// PROS
- Tiny, fast, single Go binary
- True constant-rate model (closed-loop fairness)
- Composes naturally with shell pipelines
// CONS
- HTTP only — no WebSocket or gRPC
- No GUI — CLI only
- Limited scenario logic compared to k6 or Gatling
// EXAMPLE QA WORKFLOW
Install the Vegeta binary
Define a target (METHOD URL) or a targets file
Run vegeta attack at a fixed rate and duration
Generate a report for latency percentiles
Script it into shell/Makefile/CI as a benchmark
Move to a scenario framework when journeys get complex
// RELATED QA.CODES RESOURCES
Cheat sheets
Practice