Vegeta

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

TODO

Internal

Overview

Install

Command Line

brew install vegeta

For Development

go get github.com/tsenart/vegeta/v12@v12.11.1

Command Line Operations

Generate a plot with three different RPS.

Generate the HTTP request in a text file.

Then:

cat request.txt | vegeta attack -insecure -name=10RPS -rate=10 -duration=100s > results.10rps.bin
cat request.txt | vegeta attack -insecure -name=50RPS -rate=50 -duration=100s > results.50rps.bin
cat request.txt | vegeta attack -insecure -name=100RPS -rate=100 -duration=100s > results.100rps.bin
vegeta plot -title "Some Title" results.10rps.bin results.50rps.bin results.100rps.bin > plot.html

To get statistics from the bin file:

vegeta report ./results.10rps.bin

To Read Targets from File

vegeta attack -targets=<file> ...

Implementation Details

The Attack() function has a main event loop and "workers" goroutines, one per worker. The number of workers can be increased from the main event loop during an "attack" depending on what?.

The "ticks" channel is a conduit for ticks, represented as struct{}s.