Topics

« Everything in USA is falling and so is Miss USA Universe | Home | India’s Papa CJ out of Last Comic Standing »

Test Server Performance using Load Testing

July 16, 2008

Load Testing

Load Testing is testing the performance of an application server when it is under heavy user load. Lets take www.amazon.com for example. Assume it gets 500,000 hits on an average per day. The systems architects have designed the system to support 40,000 concurrent users without any performance hit. They also vouch that the system will not crash for 100,000 concurrent users, but, will have a 30% performance hit once the number of concurrent users exceed 40,000. They also claim that the system will be able to absorb 1 million hits without needing a server/db cleanup/restart. Moreover, amazon expects an insane amount of load during the holiday season. So they would like to know how the system would behave under immense load like 500,000 concurrent users and if the system is scalable so that they could make informed decision. Performance degradation or even worse failure of the webapp during the holiday season even for half an hour can lead to millions of dollars of losses in revenue. Just ask turbotax who had to refund millions of dollars because their online tax filing system crashed due to heavy load a day before the tax filing deadline in 2007.

Coming back to the point, how does amazon.com make sure that the claims made by system architects are true? They are intelligent enough for sure to not take the architects word for it :). Is it practical to hire 40,000 users, equip them with a PC each and ask them to continiously hit the app? Hypothetically speaking, even if they manage to hire 40,000 users, is it possible to synchronize their activity? My guess is NO. You take yours. Well the answer to their predicament is Load Testing. Hire a load tester, equip the tester with a Load Testing tool, give him access to your servers, give him 4 to 5 machines (depending on the test requirements) to set up the tests and you are all set. You can get performance data for every possible scenario that you could think of. The data is presented in tabular as well as graphical formats. Its also stored in a database for future use. Moreover, good load testing tools can also identify exact bottlenecks in the system.

One such tool is Mercury Interactive’s (now HP since mercury’s acquisition by HP in 2005) Load Runner which is one of the most precious tool for load testers. The market rate for load testers is attrative too ;). I will discuss more about load runner in tomorrow’s blog.

Topics: Tech |

Comments