Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fityanos/AA-SetupVegeta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

12 Commits

Repository files navigation

vegeta

How to set up vegeta load testing library

brew update && brew install vegeta
brew install go --cross-compile-common
subl .zshrc

include:

 export GOPATH=$HOME/Workspace/go
 export PATH=$PATH:$GOPATH/bin

Save changes and run

source ~/.zshrc

Run this command

go get -u github.com/tsenart/vegeta

pull master

Reference Links:

https://github.com/tsenart/vegeta

https://testdetective.com/performance-testing-vegeta-attack/

https://thisdata.com/blog/load-testing-api-interfaces-with-go-and-vegeta/

How to run from command line:

1- In case of GET endpoint without required body:

vegeta attack -targets=targets.txt -rate=10 -duration=10s | vegeta report

2- In case of POST endpoint and i need body:

Create body.json file and include it in targets.txt AND make sure that lines order matters

FIRST the endpoint THEN the headers THEN the body.json path (complete path) WITHOUT SPACES IN BETWEEN

vegeta attack -targets=targets.txt -rate=10 -duration=30s | vegeta report

3- To save report result in text file you can run the command as follow:

vegeta attack -targets=targets.txt -rate=10 -duration=5s | vegeta report > anas.bin

4- To generate different report you can run the command as follow:

vegeta attack -targets=targets.txt -rate=10 -duration=5s | vegeta report -reporter=json

5- To just dump vegeta report as a raw data

vegeta attack -targets=targets.txt -rate=10 -duration=5s | vegeta dump

6- To use vegeta with jplot and jagger

vegeta attack -targets=targets.txt -rate=20 -duration=15m | vegeta dump | \
 jaggr @count=rps \
 hist\[200,300,301,400,404,500,502,503\]:code \
 p30,p50,p85:latency \
 sum:bytes_in \
 sum:bytes_out | \
 jplot rps+code.hist.200+code.hist.300+code.hist.301+code.hist.400+code.hist.404+code.hist.500+code.hist.502+code.hist.503 \
 latency.p85+latency.p50+latency.p30 \
 bytes_in.sum+bytes_out.sum

OR => can be on oneline

vegeta attack -targets=targets.txt -rate=20 -duration=15m | vegeta dump | jaggr @count=rps hist\[200,300,301,400,404,500,502,503\]:code p30,p50,p85:latency sum:bytes_in sum:bytes_out | jplot rps+code.hist.200+code.hist.400+code.hist.404+code.hist.500+code.hist.502+code.hist.503 latency.p85+latency.p50+latency.p30 bytes_in.sum+bytes_out.sum

About

πŸ“š How to set up Vegeta load testing lib

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /