vegeta icon indicating copy to clipboard operation
vegeta copied to clipboard

add ramp-up command

Open cklm opened this issue 4 years ago • 3 comments

Hi, thank you that you are investing your time for this great tool!

Proposal

vegeta should have an option to ramp up the rate at the start. Example: rate of 200 is given and rampup of 10 seconds is given - than vegeta increase the rate of 10% per second: first second: 10% - rate=20 second second: 20% - rate=40 ... tenth second: 100% - rate=200

command could be as followed:

-rampup int
    seconds to ramp-up the target-rate

That option would allow to attack/test targets more naturally, since traffic (at least on our servers) does not increase that much from one second to the other.

Background

I just tested some webserver-configurations and optimized them. webservers cannot handle the traffic-jump (like 10 rq/s to 1,000rq/s in less than a second), because they need to spawn extra workers and so on. Without the rampup the report is falsified, since the webservers needs some seconds to scale.

Workarounds

I'm not aware of a workaround.

cklm avatar Nov 08 '20 13:11 cklm

@cklm one workaround I can think of is to sequence test runs and aggregate the results.

  • 1 on the need of the feature.

surenderssm avatar Nov 09 '20 09:11 surenderssm

I've been successful using the load-ramping script with tweaked values for this https://github.com/tsenart/vegeta/tree/master/scripts/load-ramping.

I also wrote a RampPacer that does something similar to what you describe if you're interested in looking into the code, but it is used as a lib and not as a vegeta command.

antoineco avatar Nov 10 '20 09:11 antoineco

A ramp up and down would be useful in any load test tool.

kazimir-malevich avatar Sep 15 '22 08:09 kazimir-malevich