Tuesday, August 10, 2010

Performance Testing - Setting Think time ZERO, doesn't mean executing the test with more users.

Performance Testing -  Setting Think time ZERO, doesn't mean executing the test with more users.

Many people have wrong assumption, by decrease the think time, it is possible to create more load on the server. When think time is set as zero, virtual users are running at unrealistic speed.

The number of Virtual Users must be close to the number of real users once the application is in production, with a realistic think time  applied between pages. Avoid testing with less Virtual Users with a minimized think time. It could be assumed that the result would be the same, as the number of requests played per second is identical. However, this is not the case, for the following reasons:

1. The memory burden on the server will be different: Each user session uses a certain amount of memory. If the number of user sessions is underestimated, the server will be running under more favorable conditions than in real-life and the results will be distorted.

2. The number of sockets open simultaneously on the server will be different. An underestimation of user numbers means the maximum threshold for open server sockets cannot be tested.

3. The resource pools (DB Connections) will not be operating under realistic conditions. An inappropriate pool size setting might not be detected during the test.

4. Removing think time can create artificial bottlenecks in your application.
When striving for accuracy, you want to always try to do things MORE like actual users rather than LESS.   The only way to do this properly is to try to set all facets of a test to mimic real world traffic.

User Think Time is based upon the distribution with an Average of 7 Seconds and Maximum of 70 Seconds.
  Article by Wayne D. Smith, Intel Corporation

----

No comments:

Post a Comment