Schedule performance tests
You use the Scheduler to create a schedule that distributes load in a performance test in a controlled manner.
Scheduler overview
Using the Scheduler, you can:
-
Set the start time for the test, and specify the amount of time that the Scheduler needs to wait after the Run Test command is issued, before running Vusers.
-
Stipulate:
- How to initialize the Vusers in the test
-
How many Vusers to start/stop within a specific time period
-
How often to start running the Vusers, simultaneously or gradually
-
Limit the run duration of the Vusers or Vuser groups within the test by specifying the amount of time the Vusers or Vuser groups should be in the running state.
-
Set a test to run according to the runtime settings defined for the enabled Vuser groups, or set the Vuser groups to run over and over again until the schedule settings instruct them to stop running.
Note: Alternatively, you can schedule a test to run in Goal-Oriented run mode. You stipulate the goals you want your test to achieve, and LoadRunner Enterprise automatically builds a schedule for you based on these goals. For details, see Distribute Vusers by goal.
Scheduler actions
A performance test schedule contains a sequence of actions that instruct the test when to start running a Vuser group, how to initialize Vusers, when to start and stop running Vusers, and how long to run an action.
The Start Group action defines when to start running a Vuser group. By default, the Start Group action appears as the first action in the Schedule tab when you select a workload of type: by group.
Options |
Description |
---|---|
Start immediately |
The Scheduler starts running the selected Vuser group as soon as the test starts running. Resulting action: Start immediately after the test begins. |
Start with delay |
After the test starts running, the Scheduler waits the specified time (in hours, minutes, and seconds) before it starts running the selected Vuser group. Resulting action: Start (HH:MM:SS) after the test begins. |
Start when group |
The Scheduler starts running the selected Vuser group immediately after the Vuser group specified in this option has finished running. Resulting action: Start when group <group name> finishes. |
Note:
-
The Start Group action is available for group schedules only, and is always followed by the Initialize action.
-
The Start Group action cannot be deleted.
The Initialize action instructs the Scheduler to prepare the Vusers so that they are in the Ready state and can run. By default, the Initialize action appears in the Schedule tab for all types of schedules.
Options |
Description |
---|---|
Initialize all Vusers simultaneously |
The Scheduler initializes all the Vusers in the test or selected Vuser group together, and waits the specified amount of time before running them. Resulting action: |
Initialize gradually |
The Scheduler initializes the specified number of Vusers gradually, according to the specified time interval (in hours, minutes, and seconds), and waits the specified amount of time before running them. Resulting action: |
Initialize each Vuser just before it runs |
The Scheduler initializes each Vuser in the test or selected Vuser group just before it starts running. Resulting action: Initialize each Vuser just before it runs. Note: This option is not available for Group schedules when Wait for all groups to initialize is selected. See Wait for all groups to initialize. |
Note: The Initialize action cannot be deleted.
The Start action instructs the Scheduler to start running the Vusers.
Options |
Description |
---|---|
Start All Vusers: simultaneously |
The Scheduler runs all the Vusers in the test simultaneously. |
Start X Vusers: gradually |
The Scheduler runs the specified number of Vusers (X) gradually. That is, the Scheduler runs Y Vusers, and waits the specified time (in hours, minutes, and seconds) before running another Y Vusers. Resulting action: Start X Vusers: Y Vusers every <hh:mm:ss> (HH:MM:SS) |
Note:
-
The Scheduler starts running Vusers only when they have reached the Ready state.
-
In a basic schedule, the Scheduler always runs all the Vusers, whether simultaneously or gradually. In a real-world schedule, you can select how many Vusers to start running at a time.
-
While a test is running, you can add Vuser groups/scripts to the test and enable them. When starting the Vusers gradually, if you add a Vuser group after all the Vusers in the test have started running, the new group starts running immediately.
-
You cannot deactivate a group if it has more than one start action. For details on deactivating groups, see Deactivate or activate Vuser groups.
The Duration action instructs the Scheduler to continue running the test in the current state, for the specified amount of time.
Options |
Description |
---|---|
Until complete |
The test runs until all the Vusers have finished running. Resulting action: Run until complete |
Run for |
The test runs in its current state for the specified amount of time (in days, hours, minutes, and seconds) before continuing with the next action. Default: 5 minutes Maximum definable duration period: 99.23:59:59 dd.HH:MM:SS. Resulting action: Run for <dd.hh:mm:ss> (dd.HH:MM:SS) |
Indefinitely |
The test runs indefinitely. Resulting action: Run indefinitely Available for: Basic schedule only |
Note:
-
In a real-world schedule, if a Duration action is not followed by another action, the test continues to run indefinitely.
-
In a real-world schedule, to avoid unexpected behavior during the test run, add a Duration action between consecutive Start Vusers and Stop Vusers actions.
-
In a basic schedule, a Run for Duration action is always followed by a Stop Vuser action.
The Stop action instructs the Scheduler to stop the running Vusers.
Options |
Description |
---|---|
Stop All Vusers: Simultaneously |
The Scheduler stops all the running Vusers at once. |
Stop All/X Vuser: gradually |
The Scheduler stops the specified number of Vusers (All or X) gradually. That is, the Scheduler stops Y Vusers, and waits the specified time (in hours, minutes, and seconds) before stopping another Y Vusers. Resulting action: Stop <X> Vuser: <Y> Vusers every <hh:mm:ss> (HH:MM:SS) |
Note:
-
A basic schedule that has a Run for Duration action, is always followed by a Stop Vuser action that stops all the Vusers, simultaneously or gradually.
-
In a real-world schedule, to avoid unexpected behavior during the test run, add a Duration action between consecutive Start Vusers and Stop Vusers actions.
-
In a real-world schedule, if no action is specified after a Run for Duration action, the Vusers continue to run indefinitely; that is, the schedule continues to run indefinitely.
-
When scheduling by group, if Group A is scheduled to run indefinitely, and Group B is scheduled to run after Group A, then Group A must be stopped manually before Group B can start running.
Types of test schedules
When you design a performance test, you can define a schedule according to which the participating Vuser groups should run in the test.
You can schedule all the groups to run together on one schedule (By Test), or you can define a separate schedule for each Vuser group (By Group).
When you schedule By Test, all the Vuser groups participate in the test run simultaneously. That is, the schedule is applied to all the Vuser groups concurrently, and each action is applied proportionally to all the Vusers groups.
For example, take a test that includes three participating Vuser groups as follows:
Group Name |
Number of Vusers |
---|---|
Group1 |
10 |
Group2 |
20 |
Group3 |
30 |
Total |
60 |
When scheduling by test, if the scheduler instructs 30 Vusers to start running when it starts the test run, a proportional number of Vusers starts running from each group as follows:
Group Name |
Number of Vusers |
---|---|
Group1 |
5 |
Group2 |
10 |
Group3 |
15 |
Total |
30 |
Note: The same principle applies when the test is in percentage mode.
Note: For tests in Vuser group (number) mode only.
When you schedule By Group, each Vuser group participating in the test runs on its own separate schedule. That is, for each Vuser group, you can specify when to start running the Vuser group, how many Vusers in the group to start and stop running within specified time intervals, and how long the group should continue running.
Group schedules can run separately, or all at the same time.
Schedule run modes
You can schedule a test to run in one of the following run modes: Basic, Real-world, or Goal-oriented.
All enabled Vuser groups run together on one schedule, each according to its own runtime settings. You can schedule how many Vusers to start running at a time, and how long they should run before stopping.
The test runs according to a user-defined group of actions that simulate a real-world schedule of events. Vuser groups run according to the iterations defined in their runtime settings, but you can define how many Vusers to run at a time, how long Vusers should continue to run, and how many Vusers to stop running at a time.
The test runs according to a schedule automatically built by LoadRunner Enterprise, based on the goal you defined for your test to achieve. You can specify the number of Vusers to run simultaneously, or the number of Hits or Transactions Per Second.
Schedule types in real-world versus basic run mode
The following table illustrates how each schedule type runs in real-world versus basic run mode:
Schedule by | Run Mode - Real World | Run Mode - Basic |
---|---|---|
Test |
All participating Vuser groups run together on one schedule. The test runs according to a user-defined group of actions that emulates a true-to-life schedule of events. You can schedule Vusers to start and stop running numerous times during the test, and specify how long to keep them in their running or stopped state. |
All participating Vuser groups run together on one schedule, each according to its own runtime settings. You schedule when to start running all the Vusers, specify how long they should run, and then specify how to stop running all the Vusers. |
Group (Not applicable when the test is in Percentage mode) |
Each participating Vuser group runs according to its own defined schedule that emulates a true-to-life schedule of events for that Vuser group. You can schedule Vusers in the groups to start and stop running numerous times during the test, and specify how long to keep them in their running or stopped state. |
Each participating Vuser group runs according to its own schedule, each according to its own runtime settings. For each Vuser group, you schedule when to start running the Vuser group, how to start running all the Vusers in the group, specify how long the Vusers should run, and then specify how to stop running all the Vusers in the group. |
Define a schedule for the test
This task describes how to define a schedule for a performance test.
-
-
Open Performance Test Designer > Groups and Workload. Make sure the test contains scripts in the Groups section.
-
The Scheduler must be enabled. In the Groups pane toolbar, click the Test Options button , and in the General tab ensure that Enable Scheduler is selected. For details, see Configure general test options.
-
-
Define a set of scheduler actions
The Schedule grid displays the default scheduler actions that correspond to the workload type selected in the Workload type box for schedules:
Real-world You can add more scheduler actions, and edit or delete existing actions.
Basic You can edit the existing scheduler actions. For details about the scheduler actions, see Scheduler actions.
Note: If you selected Goal-Oriented Schedule in the Workload type box, the Goal definition for grid is displayed. In goal-oriented schedules, you can define a goal for the test and configure the goal settings. For details, see Distribute Vusers by goal.
-
Copy a Vuser group's scheduler settings to other groups (for Group schedules only) - optional
When scheduling By Group, you can copy a Vuser group's scheduler settings to other Vuser groups. Scheduler settings copied include the scheduler run mode (basic or real-world) and the set of defined scheduler actions.
-
Select the source group whose settings you want to copy, and click the Duplicate Scheduler Settings button .
-
In the Duplicate Scheduler Settings dialog box, select one or more target groups. To apply the scheduler settings to all groups in the test, select the Target Group Name check box.
-
Click OK. The source group's scheduler settings are copied to the target groups.
-
-
Schedule a start time for the test - optional
In the Groups pane toolbar click the Test Options button . Select Start the Scheduler after a Delay of, and enter the amount of time after which to start running the test.
Add actions to a real-world test schedule
This task describes how to add actions to a real-world test schedule.
To add an action to the schedule:
-
In the Schedule tab, select an action after which you want to insert the new action, and click the Add Action button .
-
Select the type of action to add, and specify the action's properties:
Start/Stop Enter the number of Vusers to start or stop running, and select how to start or stop running the Vusers: simultaneously or gradually.
If you selected gradually, enter the number of Vusers to start or stop at a time, and a time interval.
Duration Select how long to run the action. For details about each type of action, see Scheduler actions.
-
When you have finished adding actions to the schedule, click Save Test.
Edit the scheduler during a test run
You can edit the scheduler during a performance test run.
-
In the Run Dashboard, select More > Edit Scheduler (available in Graphs view, Groups view, and Transactions view only). The schedule pane is displayed.
-
Click Stop Scheduler to stop the scheduler, and edit the settings as required:
Start Time Enter a delay time for the scheduler to restart after editing. To restart the scheduler immediately, leave this setting blank. Wait (Groups schedule only) Select to initialize all Vuser groups together. Group (Groups schedule only) Select groups to display and edit their schedules. For details about each type of action, see Scheduler actions.
-
Click Start Scheduler to restart the scheduler. The scheduler starts at the beginning of the current step. For example, if you stop the scheduler 2 hours into a duration step of 3 hours, the scheduler restarts the step, and runs the step for 5 hours.
-
You can also pause and resume the scheduler by clicking Pause Scheduler and Resume Scheduler.
Schedule / Goal Definition pane
The pane that is displayed depends on the workload type that is selected.
- For a Basic or Real-World schedule: The Schedule pane enables you to define a run schedule for your test. For details, see Schedule pane below.
- For a Goal-Oriented Schedule: The Goal Definition pane enables you to define the goals you want your test to achieve. For details, see Distribute Vusers by goal.
In the Performance Test Designer window, select the Groups and Workload tab. The Scheduler pane is displayed.
Note: If scripts in your test contain rendezvous points, the test does not run as scheduled because the rendezvous points interfere with the schedule. For details, see Set rendezvous policies.
User interface elements are described below:
UI Elements |
Description |
---|---|
Add Action |
Enables you to add an action to the test schedule. The new action is added after the action selected in the grid. You can add Start Vuser, Duration, and Stop Vuser actions only. For details, see Scheduler actions. Available from: Real-world schedule only |
|
Delete selected action. Deletes the selected action. |
Duplicate Scheduler Settings. Enables copying the scheduler settings of a Vuser group to other groups. | |
<Schedule grid> |
Lists the scheduled actions. Initially the grid displays default actions that correspond to the schedule type you selected for your workload. For details, see Vuser distribution methods. For all schedules, some of the actions can be modified. In real-world schedules, you can also add and delete actions, enabling you to simulate a more true-to-life schedule by which to run your test. |
<Schedule graph> |
Provides a graphical representation of the actions listed in the Scheduler grid. |
See also: