Vegeta: Difference between revisions
Jump to navigation
Jump to search
Line 62: | Line 62: | ||
The "ticks" channel is a conduit for ticks, represented as <code>struct{}</code>s. | The "ticks" channel is a conduit for ticks, represented as <code>struct{}</code>s. | ||
<font color=darkkhaki>What is a tick?</font> | <font color=darkkhaki>What is a tick? The main event loop <code>count</code> counts ticks.</font> |
Revision as of 18:14, 31 July 2024
External
TODO
- https://www.cmscomputing.com/articles/testing/testing-with-vegeta-through-a-web-ui
- https://www.scaleway.com/en/docs/tutorials/load-testing-vegeta/
- https://serialized.net/2017/06/load-testing-with-vegeta-and-python/
- https://qainsights.com/deep-dive-into-vegeta-http-load-testing-tool-and-library/
- https://blog.absyah.dev/super-simple-guide-for-load-testing-using-vegeta
- https://geshan.com.np/blog/2020/09/vegeta-load-testing-primer-with-examples/
- https://isheep.xlog.app/vegeta?locale=en
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?.
Main event loop exit conditions:
- The attack duration expires.
- The
stopch
is written to.
The "ticks" channel is a conduit for ticks, represented as struct{}
s.
What is a tick? The main event loop count
counts ticks.