Vegeta 是一个万能的 HTTP 负载测试工具,提供命令行工具和一个开发包。
使用方法:
Usage: vegeta [global flags] <command> [command flags] global flags: -cpus int Number of CPUs to use (default 8) -profile string Enable profiling of [cpu, heap] -version Print version and exit attack command: -body string Requests body file -cert string TLS client PEM encoded certificate file -connections int Max open idle connections per target host (default 10000) -duration duration Duration of the test [0 = forever] -header value Request header -http2 Send HTTP/2 requests when supported by the server (default true) -insecure Ignore invalid server TLS certificates -keepalive Use persistent connections (default true) -key string TLS client PEM encoded private key file -laddr value Local IP address (default 0.0.0.0) -lazy Read targets lazily -output string Output file (default "stdout") -rate uint Requests per second (default 50) -redirects int Number of redirects to follow. -1 will not follow but marks as success (default 10) -root-certs value TLS root certificate files (comma separated list) -targets string Targets file (default "stdin") -timeout duration Requests timeout (default 30s) -workers uint Initial number of workers (default 10) report command: -inputs string Input files (comma separated) (default "stdin") -output string Output file (default "stdout") -reporter string Reporter [text, json, plot, hist[buckets]] (default "text") dump command: -dumper string Dumper [json, csv] (default "json") -inputs string Input files (comma separated) (default "stdin") -output string Output file (default "stdout") examples: echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report vegeta attack -targets=targets.txt > results.bin vegeta report -inputs=results.bin -reporter=json > metrics.json cat results.bin | vegeta report -reporter=plot > plot.html cat results.bin | vegeta report -reporter="hist[0,100ms,200ms,300ms]"