Bloggo back to the blog
Load Curves Analysis Make Load Tests Meaningful-->
Load testing is a critical part of any testing/quality control operation. What may surprise some of you is that load testing is quite easily done – testing parameters may be quickly defined and tests performed. However, when it comes time to analyzing the results, even experienced practitioners are sometimes stumped: it is not easy to be sure what the results are reporting. Do they map what would happen under real stress?
To clear such doubts, and get you started on the path to performing meaningful load tests, it is important to understand a few Load Testing concepts:
To conduct successful load testing, it is vital to understand the concept of “Load Curves”. These are graphs that provide vivid pictorial documentation of what happened when the system was put under stress during the test.
Consider the left hand curve above (Average Duration of Web Surf Session per user). It is a plot of the number of concurrent users having sessions on the server, versus response time to HTTP requests. The graph reports that when the number of concurrent user sessions on the server nears 80, response time starts increasing. The server’s maximum capacity for concurrent sessions has been reached. Such an analysis of loads proves very useful to determine whether the system is reacting as per design and fulfilling the requirements or not.
The two curves shown above are also typical (and very useful) load curves. The right hand graph shows multiple curves, for multiple pages. It provides an instant visual report that response times start rising at 80 concurrent users and rise dramatically at 100 concurrent user sessions for all the pages tested. Analysis of these results suggests that server-side tuning is recommended if the website is to support more than ~95 user sessions with reasonable response times.
Point of Collapse
Have you kept fruitlessly clicking “refresh” on your favorite internet ticketing site hoping to score tickets on a Friday night to a blockbuster movie only to be presented a blank page or a site that has crashed? If yes, then you’ve seen a site go beyond the “point of collapse”.
The theory behind this is simple. Many applications experience system-wide decrease in throughput (the number of bytes moving around per second) as the load on them increases. As more and more users pile on the ticketing site with HTTP requests, the application gets slower and slower until it grinds to a complete halt: the eponymous “point of collapse”. Web pages become unresponsive, and the application may “freeze” until users begin exiting the site.
Image: Load Curves showing Point of Collapse
Sites that have gone beyond this point may stay unresponsive or “dead” for hours if new users continue to arrive at the site, maintaining a huge stress on the application, leading to potentially infinite response times. Once they have these results, further digging around may be needed by the developers and architects to pinpoint why throughput increased: it could be due to issues in the architecture, programs, server configuration or hardware.
As you will appreciate by now, analyzing the results of load curves can offer fascinating insights into the behaviour of the tested application under stress. They can give valuable pointers to the design and development team about how their product will behave when deployed, what the holes are to be plugged, and where tuning must be done.
Author: Mike Howse
Mike is VP International at Apica and has a strong background in networking and security. Apica provides the most effective technology for optimizing the performance of cloud and mobile applications. Apica offers companies and developers alike easy-to-use, cloud-based load testing and web performance monitoring tools to test applications for maximum capacity, daily performance, improved load times, and protection from peak loads. For more information about how Apica is providing the highest standard for cloud and mobile application performance management, visit http://www.apicasystem.com. Apica was founded in 2005 and is based in Stockholm, Sweden and Santa Monica, California with offices in London and New York.