About Load Pattern
The load pattern properties specify how the simulated user load is adjusted during a load test. Visual Studio Team System Test Edition provides three built-in load patterns: constant, step, and goal-based. You choose the load pattern and adjust the properties to appropriate levels for your load test goals.
The load pattern is a component of a scenario. The scenarios with their defined load patterns comprise a load test.
Note
In all Load Patterns, the load that Team Test generates is simulated load that is generated by virtual users.
Load Patterns
Constant
The constant load pattern is used to specify a user load that does not change during the load test. For example, when you run a smoke test on a Web application, you might want to set a light, constant load of 10 users.
Step
The step load pattern is used to specify a user load that increases with time up to a defined maximum user load. For stepping loads, you specify the Initial User Count, Maximum User Count, Step Duration (seconds), and Step User Count.
For example a Step load with an Initial User count of one, Maximum User Count of 100, Step Duration (seconds) of 10, and a Step User Count of 1 creates a user load pattern that starts at 1, increases by 1 every 10 seconds until it reaches 100 Users.
Note
If the total test duration is shorter than the time that is required to step up to the maximum user load, then the test stops after the elapsed duration and does not reach the Max User Count target.
You can use the Step goal to increase the load until the server reaches a point that where performance diminishes significantly. As load increases, the server will be able to keep up until it runs out of resources. The step load is a good way to determine the number of users at which this occurs. With the stepping load, you also have to monitor agent resources closely to make sure that the agents can generate the desired load.
You should generally run several runs with different step durations and step user counts so that you can get good measurements for a given load. Often loads show an initial spike for each step as users are added. Holding the load at that rate allows you to measure system performance after the system recovers from the initial spike.
Goal-Based
A goal-based load pattern resembles the step pattern but adjusts the user load based on performance counter thresholds versus periodic user load adjustments. Goal based loads are useful for a variety of different purposes:
Maximizing output from the agents: measure the key limiting metric on the agent to maximize the output of the agents. Typically, it is CPU, but it could also be memory.
Reaching some target resource level, typically CPU, on the target server, then measuring throughput at that level. This enables you to do run-to-run comparisons of throughput given a consistent level of resource usage on the server.
Reaching a target throughput level on the server.
In the following table, an example shows a goal-based pattern with the following property settings:
Property Group |
Property |
Value |
---|---|---|
Performance Counter |
Category |
Processor |
Performance Counter |
Computer |
ContosoServer1 |
Performance Counter |
Counter |
% Processor Time |
Performance Counter |
Instance |
_Total |
Target Range for Performance Counter |
High End |
90 |
Target Range for Performance Counter |
Low End |
70 |
User Count Limits |
Initial User Count |
1 |
User Count Limits |
Maximum User Count |
100 |
User Count Limits |
Maximum User Count Decrement |
5 |
User Count Limits |
Maximum User Count Increment |
5 |
User Count Limits |
Minimum User Count |
1 |
Those settings cause the Load Test Monitor to adjust the user load between 1 and 100 during a test run in such a way that the Counter for % Processor Time of the WebServer01 hovers between 70% and 90%.
The size of the each user load adjustment is determined by Maximum User Count Increment and Maximum User Count Decrement settings. The user count limits are set by the Maximum User Count and Minimum User Count properties.
Setting and Changing a Load Pattern
When you create a load test using the Load Test Wizard, you select a Load Pattern. For more information, see How to: Specify Load Patterns.
After you create your load test, you can edit the load pattern in the Load Test Editor. For more information, see How to: Change the Load Pattern.