The Runtime Settings tab of the Group Specifications dialog box in the Test view for a script in Eggplant Performance Studio provides several tabs that let you configure options for how your test or virtual users (VUs) start and run. Note that runtime settings can be edited for multiple groups at the same time. For information about displaying this dialog box, see Configuring Virtual Users.
The Iterations tab in the Runtime Settings of Group Specification dialog box
The Iterations section of the Iterations tab controls how long a test continues. Select between these three choices and input your desired values:
- Iteration Count: Enter the desired number of iterations you want this VU Group to run through the selected workflow/script.
- Execution time (hh:mm): Allocate a time limit on how long the VU Group should continue iterating. This time is measured from when the VU Group started running, not from when the test was launched, and includes ramp-up time (see below).
- Iterate forever: The VU Group will continue running until the test is stopped by user intervention in Test Controller.
The Maximum Iteration Failures section lets you choose to terminate VUs with excessive failures:
- Terminate Virtual User after
Xfailed iterations: Enter the number of failures in place of
X; the VU Group will cease running when it has reached the indicated number of failed iterations.
- Allow unlimited failed iterations: If you choose this option, the test continues regardless of failed iterations.
The Iteration Pauses section lets you create a pause between iterations. Input the desired time value in the box (min/sec/ms).
The Use Pacing check box sets the iteration pause to begin counting from the start of the iteration rather than when it finished. This can be useful in scenarios where one would like a set number of iterations taking place in x amount of time. For example, if you wanted 10 iterations taking place in 1 hour, setting the iteration pause to 6 minutes using pacing would achieve this effect. However if each iteration took longer than 6 minutes, there would not be any iteration pause at all.
The Runtime Settings Ramp-up lets you determine intervals between VU start times as a test begins:
The Ramp-up tab
- Number of steps: This setting sets the number of steps over which all the VUs are ramped-up. Each step ramps-up n VUs, based on the total number of VUs in the group and the time specified between each step (Per step settings) that you configure.
- Step duration: This setting sets the time that a step should take before starting the first VU in that batch of VUs' step.
- Per step settings: For each step, you can set the ramp-up interval between VUs in one of two ways:
- Specify the interval between Virtual User start times: With this option, all the VUs in each step start up with a specific start time interval value, randomized between two time values that you input.
- Specify the total ramp-up time for the step: With this option, you specify a total time for each step, and all the VUs in each step are started over that time period.
If you click Advanced Options, the following dialog box appears:
This dialog box lets you set some advanced ramp-up options:
- Initial delay: Determines the start delay from the beginning of the test for this particular VU Group.
- VU Group ramp-up across multiple injectors: The virtual user population of a VU Group can be split between multiple injectors. The ramp-up of the VU Group's virtual users can be managed using one of two possible scenarios:
- Sequential ramp-up (one injector after another): VU ramp-up occurs in sequence across all injectors assigned to run the VU Group. For example, assuming two injectors: once injector 1 has completed the ramp-up of its virtual users only then does injector 2 begin ramp-up.
- Alternate ramp-up (round-robin): VU ramp-up will round-robin between all injectors assigned to run the VU Group. For example, assuming two injectors: injector 1 starts a virtual user, then injector 2 starts a virtual user, then Injector 1, then Injector 2... until all virtual users in the group are running.
Ramp-Up Visual Representation
At the bottom of this tab, you'll find a graph that displays how your ramp-up options should perform. As you make changes, the graph updates dynamically to reflect the new choices.
Script pauses can be adjusted on the Pauses tab of Runtime Settings. The
pause() function is used by Eggplant Performance in scripts to halt its execution temporarily. The function can be passed a time value (in milliseconds) or left blank. Pauses are often referred to as user think-time.
Non-parameterized script pauses -
- Replace with random values between: Assigning min and max values here will create a random pause between the selected interval for each non-parameterized script pause within the VU Group.
Parameterized script pauses -
- Use actual values in script: Use the hard-coded time values of the
pause()statements in the script.
- Replace with random values between: Replaces the hard-coded time values with a random value between min and max.
- Apply adjustments (+ -) with random values between: Calculates a random value between min and max. This value is then randomly added to or subtracted from the hard-coded time value in the
Script pause factor
Multiply the script pauses by the indicated percentage to decrease or increase pause values. This factor is applied to the
pause() statement after all other calculations regarding pauses have taken place.
Disabling event logging stops timings from being created, as these timings are collected from the event logs after a test finishes. This option is useful when running a test intended as background load where timings might not be relevant.
Background Scripts Options
The Background scripts options tab contains an Automatic stop timeout option. This option enables you to specify how long to wait before a background script is forcibly stopped if it is still running at the end of the script, iteration, or workflow.
Virtual User Type Runtime Settings
Some VU types may possess additional type-specific runtime settings. These types appear as extra tabs. For information on runtime settings specific to a VU type, see the relevant VU chapter within this user guide.