Chapter11.Load Testing


Chapter 11. Load Testing

Load balancers, caches, and Quality of Service (QoS) enabled network devices dynamically shift resources in real time to meet compliance requirements. In contrast, a longer-term management focus is intended to identify future problems with enough lead time to take the appropriate preventive actions. The long-term time scale is days or weeks versus the minutes and seconds involved in real-time management processes. Real-time operations play the hand that's been dealt; long-term operations focus on drawing better cards to begin with.

If you are a services manager, one question that is usually in the back of your mind is this: When will my services fail to meet their quality objectives? (That you will fail to meet Service Level Agreement (SLA) objectives under some combination of circumstances is almost a given. Perhaps a more accurate statement of the question is this: Who breaks my services first? My customers, or my testing team?)

The long-term functions discussed in this chapter and Chapter 12, "Modeling and Capacity Planning," ensure that there are adequate resources to allocate and that you better understand how to structure operational options. The long-term functions are capacity planning, modeling, and load testing.

Capacity planning using modeling tools, discussed in Chapter 12, has often been difficult and chancy, greatly depending on the assumptions you make about loads, request rates, and other key variables. Analysis time lengthens as the numbers of elements and their interactions increase. Moreover, there are many elements and effects whose interactions are very difficult to quantify (latency and queuing are two key examples), and the simulations are no better than the assumptions that went into them.

In contrast, load testing is empirical rather than analytic; it addresses the question in a more straightforward manner: see how the services actually behave and where they really break. With load testing, you can learn about problematic performance and address it before deployment. You can then baseline the behavior so that you can allocate resources properly and set realistic performance goals. Load testing can also be used to improve the accuracy of analytic tools.

Load testing uses active validation techniques to define the performance envelope of a service or an element. The service or element being tested is subjected to an increasing offered load until service quality begins to plummet. Alternatively, the service is subjected to a steady load over a longer period of time, to identify effects, if any, of caching or buffering.

This chapter discusses load testing of the server and application infrastructures, which can be handled together. I don't discuss in detail the use of load tests to evaluate transport infrastructures, but specialized tools and techniques are available to test transport networks. They generate high traffic volumes and can be set to introduce errors and shift timing relationships to create jitter between packets. Device vendors use these expensive traffic generators to test and validate their products and to determine the relative strengths and weaknesses of competing products.

A load testing strategy needs these pieces: a test bed, controllable load generators, good system profiles, good analysis, and clear reporting tools. Toward that end, this chapter covers the following:

  • Characteristics of the performance envelope that represents a service's performance as a function of load

  • Load testing benchmarks

  • Load test beds and load generators

  • Building transaction load-test scripts and profiles

  • Using the results of a load test




Practical Service Level Management. Delivering High-Quality Web-Based Services
Practical Service Level Management: Delivering High-Quality Web-Based Services
ISBN: 158705079X
EAN: 2147483647
Year: 2003
Pages: 128

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net