Welcome!

Java Authors: Maureen O'Gara, Hovhannes Avoyan, Bob Gourley, Andreas Grabner, Vivek Arora

Related Topics: Java

Java: Article

A Better, Faster Way to Stress and Load Test Today’s Web Applications

Improve reliability and performance

In today's Internet age, most developers are building Web applications prolifically. As applications move to the Web, it has become increasingly more important to be able to gauge their performance and load capability. Developers must be able to predict how much traffic a Web site will be able to handle and make smart choices on how to design an application so that it can handle a potential blitz of users.

But very often Web applications hit their limits and catch companies off-guard. An overloaded Web application is a major problem and often can't be addressed rapidly. Therefore, being prepared and understanding the limits of an application is crucial to its success.

At the same time, companies want to get their Web applications up and running as quickly as possible to keep up with competition. The exponential growth of rich Internet applications (RIAs) - including AJAX, Adobe Flex, and Silverlight - has accelerated the rate of development so companies need a cost-effective way to test their rich media application development quickly and easily to stay competitive.

What is the best, fastest, most cost-effective way to load a Web application? In this article, we'll look at optimum stress and load-testing techniques.

What You Want to Test
Before you start testing an application, it's important to determine your application testing objectives. Do you want to test an application's robustness, performance, infrastructure, and/or stability?

Types of Testing
Load Test
To find out if an application is stable and won't crash when a certain number of users are accessing it, you want to do a load test. A load test simulates a user at a constant rate over a period of time.

The test results should answer the following questions:

  • Is the server capable of handling a certain number of simultaneous users?
  • Is the average response time for pages acceptable under this set load?
  • Does the server revert to normal behavior after a load peak?

It is important to define what an acceptable response time is beforehand since the notion can differ depending on the application tested and the type of page. For example, a simple page should display faster than a page full of search results.

Testers should also closely monitor the CPU and memory usage throughout the load test. The server is considered overloaded if these usage figures regularly exceed 90%.

It is equally important to test the server's capacity to recover after a load peak. Many applications are subjected to load peaks; for example, an intranet at 8.30 a.m., resulting in a temporary stress on the application. It's necessary, therefore, to check that no damage is done to the system as a result of these peaks. This type of test can also pinpoint memory leaks or resource management problems.

More Stories By Daniel Baloche

Daniel Baloche is Vice President, North America at Neotys (http://www.neotys.com), a provider of software solutions to improve the quality and performance of information systems. Its flagship solution, NeoLoad, tests the performance of web applications using customizable scenarios for load and stress.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.