How to set ramping VUs execution to finish all remaining iteration. No iteration shall be stopped or interrupted

Hi, I set my script to run it using ramping-vus executor type with a total duration of 5 minutes. Knowing this will execute as many iterations as possible for a specified amount of time, I want each pending or ongoing iterations after the duration to be finished and will not be interrupted.

My main goal is that I should have 0 interrupted iterations after running my script whatever how long the script is, any number of request in my script, whatever the duration is or how many VUs I configured.

I tried using gracefulRampDown and gracefulStop but I am not sure if I am using it properly, how these 2 work or are this the correct method to use?

    scenarios: {
      Main: {
        executor: 'ramping-vus',
        stages: [
          { target: 200, duration: '1m' },
          { target: 200, duration: '3m' },
          { target: 0, duration: '1m' },

        ],
        exec: 'main',
        gracefulStop: '10m',
        gracefulRampDown: '10m',
      },
    },

Or are there any other ways to make sure all iterations would be completed?

Thank you!

Hello, @mat
The maximum HTTP request timeout is 60 seconds(this answer), and it does not change.
If additional thresholds parameters are not set, then the request will wait for a response (60 sec).

1 Like

Hi @mat.

I think you are using it correctly but as much as I know I think you supposed to only use the gracefulRampDown attribute as it is exactly the same as gracefulStop but with the only purpose to be used for ramping-vus executor.

And as @PaulM said the default request timeout is 60 seconds and using 1minute ramp down time should be okay for all of the iterations to be finished.

1 Like