LinuxCommandLibrary

vegeta

HTTP load testing tool

TLDR

Attack endpoint

$ echo "GET http://localhost:8080/" | vegeta attack -rate=[50] | vegeta report
copy
Attack with duration
$ echo "GET http://localhost/" | vegeta attack -rate=[100] -duration=[30s] | vegeta report
copy
Plot results
$ vegeta attack ... | vegeta plot > [results.html]
copy
Encode to JSON
$ vegeta attack ... | vegeta encode --to=json
copy
From targets file
$ vegeta attack -targets=[targets.txt] -rate=[10]
copy
POST request
$ echo "POST http://localhost/api" | vegeta attack -body=[data.json]
copy

SYNOPSIS

vegeta command [options]

DESCRIPTION

vegeta is an HTTP load testing tool that sends requests at a constant, configurable rate. The attack command generates traffic and streams binary results to stdout, which can be piped to report for statistical analysis or plot for HTML visualization.
This pipeline design allows flexible composition of load test workflows. Target definitions support multiple endpoints, HTTP methods, headers, and request bodies. Reports include latency percentiles, success rates, and throughput metrics, making it straightforward to identify performance regressions and capacity limits.

PARAMETERS

attack

Send requests.
report
Generate report.
plot
HTML plot.
encode
Convert format.
-rate N
Requests per second.
-duration D
Attack duration.
-targets FILE
Targets file.
-body FILE
Request body.
-header H
HTTP header.

CAVEATS

High rates need tuning. System limits may apply. Target server must handle load.

HISTORY

Vegeta was created by Tomás Senart for HTTP load testing. Named after the Dragon Ball character, it emphasizes power and speed.

SEE ALSO

ab(1), wrk(1), hey(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community