Capacity Planning for Web Performance: Metrics, Models, and Methods
KEY BENEFIT: Virtually overnight, capacity planning has become the most critical issue for Web and intranet developers. This is the first comprehensive guide to every aspect of making sure your Web and intranet servers will deliver the performance your users and executives expect.
KEY TOPICS: Start by reviewing the most common performance and planning scenarios facing Web and intranet managers. Next, review the fundamentals of performance and capacity planning in any client/server environment, and the specific issues associated with Web and intranet protocols and workloads. Then step-by-step through assessing the current performance and planning the future capacity of Web and intranet servers, including how to define service level agreements, plan for peak usage times, and manage the tradeoffs between cost and performance. The authors -- world-respected leaders in capacity planning -- show how to characterize existing workloads, use industry standard benchmarks, model performance at both the system and component level, collect data, and forecast performance. Practical case studies tie together all the information in a form that's easy to understand and use.
MARKET: For all system and Web administrators, system analysts, client/server professionals, and IT managers concerned about Web or intranet performance issues.
FEATURES: Benchmarking, performance modeling, workload forecasting, and more.
Detailed case studies show exactly how to use every technique.
Understand the impact of every major Web technology on server performance, including HTTP, TCP/IP, HTML, CGI, Java, multimedia and more.
Review By: Thomas Burke
09/11/2002This book uses a quantitative approach to determine the capacity and performance of client/server and Web-based solutions. As market competition increases, companies are looking for an edge to beat out their competitors. One way to do that is to meet the performance expectations of their customers. They also need to make sure that they retain this level of performance while the business grows. This is done through capacity planning. This book provides the performance models, scientific groundwork, and metric gathering information to make sure that companies can become and stay competitive.
Chapters 1 and 2 introduce the reader to performance and capacity planning concepts, networks, protocols, and the client/server paradigm. Chapter 3 is key for those who are involved in client/server environments, which seems to be most of us. Server types, service times, and service demands are explained in detail. Hard drives, disk arrays, and networks are broken down in transaction detail with various equations. An example would be RouterService = Ndatagrams X RouterLatency. The book is filled with these quantitative equations, which are the most valuable aspect of the book.
Chapter 4 addresses Web server and intranet performance issues. The authors correctly inform the readers that Web performance and capacity planning have unique characteristics separate from the classic client/server system. The anatomy of a Web transaction is analyzed from when a user clicks a hyperlink in the browser to where they receive a response from the server. The superior performance aspects of HTTP 1.1 over HTTP 1.0 protocol are discussed in great detail and clarity. Web performance metrics are introduced such as HTML throughput and Web hits.
A step-by-step approach to capacity planning in client/server systems is discussed in chapter 5. This is the key chapter where the reader is exposed to capacity planning methodology. In a step-by-step fashion, the methodology is presented to the reader through the process of determining the most cost-effective system and network configuration. The methodology uses three models: a workload model, a performance model, and most important, a cost model. This is a must-read chapter.
The rest of the book explores the capacity planning methodology in greater detail. There is an interesting chapter on industry benchmarks that gives the readers a chance to compare their environments to industry benchmarks such as LADDIS, SPEC, SPECweb, and Whetstones. The importance of creating a performance baseline is discussed, as well as how to collect the performance numbers.
The book is used in undergraduate and graduate university classes. It is a technical book and requires some background in networking and statistics. In order to fully appreciate this book, the reader should have a basic knowledge of the seven-layer network reference model from the ISO organization. Because of all the empirical formulas and metrics, a basic understanding of statistics is helpful. The authors put in extra effort to make the technical aspects easy to follow.
This book is valuable to the QA analyst. Performance and capacity planning are playing increasingly important roles in the Web environment. The bottom line of a business can be seriously affected, or even wiped out, by poor performance or the inability to keep up with growth. It is therefore important for the analyst to understand the concepts presented in this book. The authors not only discuss the challenges of capacity planning, but also solutions. The QA analyst will learn how to find bottlenecks and how to solve them. Solutions such as mirror servers and caching techniques are discussed.
As in any good QA practice, the values of metrics and cost analysis are covered throughout the book. The authors take capacity planning from an ad hoc guessing game to a quantitative method that produces results in metrics and constantly keeps cost issues in the foreground.
A valuable CD-ROM is included, which contains Excel spreadsheets that assist in planning the capacity for Web and C/S systems. It also includes software that helps in retrieving relevant information from server logs that assist in analyzing the servers’ performance.
I recommend this book to anyone who is involved in performance and capacity planning.