Eye On Performance: A Load Of Stress
By Jack Shirazi & Kirk Pepperdine2004-01-22
Stress testing, load testing
One of the most common questions asked on the performance lists is: "Is there a tool that can help me to stress test my J2EE application?" Before we can answer that, let's ask ourselves: what is stress testing, and why do these developers want to do it? (I'm sure quite a few of you have been in the stressful situation of absolutely needing to have your tests finished by yesterday, but that's not what we're talking about here.) Stress testing is aimed at discovering under what conditions your application's performance becomes unacceptable. You do this by changing the application inputs to place a heavier and heavier load on the application, measuring how performance changes with the variation in those inputs. This activity is also called load testing, though load testing usually describes a specific type of stress testing -- increasing the number of users to stress test your application.
The simplest way to stress test an application is to manually vary the inputs (number of clients, size of requests, frequency of requests, mix of requests, and so on) and plot how the performance varies. For some applications, this is all you need to do. But if you have many inputs, or a large range of values over which to vary those inputs, you probably need an automated tool. Also, with manual testing, it can be difficult to accurately reproduce the set of tests if you want to re-test your application after making changes. When it comes to having multiple users testing your application, it is almost impossible to run manual tests consistently and, unless you have a lot of unemployed friends, it can be very difficult to scale up the number of users testing the application.
Tutorial Pages:
» Stress testing and the factors that go into choosing the right tool for your project
» Stress testing, load testing
» One size doesn't fit all
» If it were only that easy...
» A rich feature set
» The final word
» Resources
First published by IBM developerWorks
