By adding a loop to a schedule, in this context, is used to
refer to VU Schedule and Rate Schedule, you can
repeat a test for a number of iterations and set the rate for running a test. If the loop contains a
synchronization point, the synchronization point is released after the first iteration of the loop
and stays released for all further iterations.
A schedule that contains only user groups and tests runs
each test in a user group sequentially. Loops provide more sophisticated
control than running a simple sequence of consecutive tests.
You
can set a loop within a schedule or a test. The following table shows
the advantages of both methods:
Loop location
Results
Schedule
Loops in schedules are easy to locate and modify.
Loops
in schedules close the server connection at the end of each iteration
and reopen it at the beginning of the next iteration. This action
models the behavior of a user closing and reopening a browser.
Loops in tests can be more granular, and thus
provide a higher level of control.
Loops in tests reuse the server
connection during each loop iteration.
Use this method, with
loops that have high iteration counts, to stress test a server.
To add a loop to a schedule:
In the Test Navigator, browse to the schedule and double-click
it.
The schedule opens.
Click the item that you want to be the parent of the loop,
and then click Add > Loop.
In the Schedule Element Details area, type the number of
iterations for the loop to repeat.
Option
Description
Count-based
Runs for the number of iterations that you select.
Time-based
Runs at least for the time that you specify. The loop always
finishes the iteration. For example, if you select a time of 1 second
and a loop takes 10 seconds to run, the loop finishes one iteration,
and then checks the time.
Infinite
Runs until the schedule duration ends. Use this option to
gather performance data over time: set an infinite loop, and then
set the schedule to stop after a specific time.
To maintain a set transaction rate for all schedule items
that are children of this loop:
Select Control the rate of iterations.
In the Iteration rate field,
type a number, and select a time unit.
This sets the actual
rate.
Select or clear the Randomly vary the delay
between iterations check box. Selecting this check box
causes the delay to vary slightly. This option models users more accurately,
because the iterations are spread out randomly over a certain period
of time.
Note: Statistically, the Randomly
vary the delay between iterations option sets delay amounts
at random from a negative exponential distribution with the same mean
as the fixed delay value. The negative exponential distribution has
a long "tail," which means that a very small number of delays will
have very large values. Therefore, make sure that the application
you are testing is not negatively affected by long periods of inactivity
(such as a timeout that disconnects the user).
Select or clear the Delay before the first
iteration of the loop check box. Selecting this check
box staggers the first delay in each iteration so that you get a realistic
mix at the first iteration.
The following schedule contains two loops. Note that the
Browse and Bid tests, which are controlled by the loop, must be children
of the loop.