Vegeta
Vegeta is an open source HTTP load testing tool and library written in Go for generating constant request rates to measure API performance and reliability under sustained load. Supports CLI and library usage with attack plans, rate limiting, duration control, and detailed result metrics including latency histograms and success rates.
APIs
Vegeta Load Testing Tool
Vegeta is an open source HTTP load testing tool and library written in Go for generating constant request rates. Supports targets from files or stdin, rate limiting (req/s), dur...
Features
Generates HTTP requests at a constant rate (requests per second) for a specified duration, simulating sustained load on API endpoints.
Supports text, JSON, and binary result output formats with encoding/decoding support for pipeline-based workflows.
Produces detailed latency histograms with configurable buckets for analyzing p50, p95, p99, and max latency distributions.
Accepts HTTP targets from files or stdin with support for custom headers, request bodies, and per-target configuration.
Configurable TLS settings including certificate pinning, insecure mode, and redirect following for testing secured endpoints.
Go library (vegeta/lib) for programmatic integration of load testing into test suites, CI/CD pipelines, and monitoring tools.
Use Cases
Measure API throughput, latency percentiles, and success rates at various request rates to establish performance baselines and SLA compliance.
Integrate vegeta as a library in Go test suites to run automated load tests as part of continuous integration pipelines.
Determine maximum sustainable request rates before latency degradation or error rates exceed acceptable thresholds for capacity planning.
Compare latency and throughput metrics across API versions to detect performance regressions before deployment to production.