Why Web Load Test Ramping is Important

The following is an article from Compuware on load testing, written by Stefan Karytko.

"It is important to understand the benefits ramping load can have on load test results. For many applications it is unrealistic to apply a peak amount of user traffic immediately at the beginning of a test. Most real world applications do not encounter situations that cause them to reach peak users and peak load all at once.
In most cases, traffic builds up over a period of time before reaching a peak load. When a load test gradually ramps load, this process not only allows the system to warm-up and ease into heavier loads, it also provides a more realistic load scenario.
Another benefit of ramping is that the arrival timing of the virtual users being used occurs in a controlled manner which helps to provide even and consistent load during a load test. Figure 1 and Figure 2 shows an example of results from a test that was configured with no ramping phase at the beginning of the test.

Figure 1 – Test A - Virtual Users
In Figure 2 the Transactions per Minute results have a high frequency, with the transaction rate spiking up and then dipping down on a three-minute frequency. This is not desirable as the volatility of the transaction rate does not provide consistent and predictable load volume, making the interpretation of results more difficult.

Figure 2 - Test A - transactions per minute vs. transaction response times
Without a ramp at the beginning of the test, once the test was started all of the virtual users kicked off all at once and at approximately the same time. This caused most of the transactions to start and finish at similar times, creating a load pattern for the remainder of the test.
From the results seen in Figure 2, it is not hard to see that the transactions were taking approximately 3 minutes to complete and that the majority of transactions were completing in the same interval. As a result a consistent load level was not applied to the system, and is reflected in the results.
Now, let’s see what happens when a ramping phase is applied to the beginning of the test. Figure 3 and Figure 4 shows the results from a test that began with a 20 minute ramp phase.

Figure 3 - Test B - Virtual Users

Figure 4 - Test B - Transactions per minute vs. Transaction response time
The Transactions per Minute results are much more normalized. In comparison to the first test where at peak load the Transactions per Minute would range from 4-20, the second test results show that at peak load, the transaction rate ranged from 11-16. The load applied during the second test was clearly more consistent and produced much more desirable results.
In my next post, I’ll discuss best practices for determining how long to ramp at the beginning of a web load test."