Capacity Planning for Web Performance: Metrics, Models, and Methods

Preface. Theme and Approach. Who Should Read this Book. Book Organization. Acknowledgments. Book's Web Site and Authors' Addresses. 1. When Performance Is a Problem. Introduction. Client/Server Performance. The Capacity Planning Concept. Web Server Performance. Intranet Performance. Internet Service Provider (ISP) Performance. Summary. Bibliography. 2. What Are Client/Server Systems? Introduction. The World of Networks. Genesis. Types of Networks. Wide Area Networks (WANs). Local Area Networks (LANs). The LAN to WAN Connection. The Home to WAN Connection. Protocols. Internet Protocol. Transmission Control Protocol. The World of Clients and Servers. The Client/Server Paradigm. Server Types. Architectural Issues. Concluding Remarks. Bibliography. 3. Performance Issues in Client/Server Environments. Introduction. Communication-Processing Delay Diagrams. Service Times and Service Demands. Service Times at Single Disks and Disk Arrays. Single Disks. Disk Arrays. @AHEADS = Service Times in Networks. @AHEADS = Service Times at Routers. Queues and Contention. Some Basic Performance Results. Utilization Law. Forced Flow Law. Service Demand Law. Little's Law. Summary of Basic Results. Performance Metrics in C/S Systems. Concluding Remarks. Bibliography. 4. Web Server and Intranet Performance Issues. Introduction. More than Just Servers. HTML. The Combination of HTTP and TCP/IP. Hardware and Operating System. Contents. Where Are the Delays? Anatomy of a Web Transaction. Bottlenecks. Perception of Performance. Metrics. Quality of Service. Infrastructure. Basic Components. Proxy, Cache, and Mirror. Web Server. Architecture. Workload. Dynamic Web Pages. Novel Features. Intranet and the Internet. Bandwidth and Latency. Traffic. Capacity Planning. Summary. Bibliography. 5. A Step-by-Step Approach to Capacity Planning in Client/Server Systems. Introduction. Adequate Capacity. A Methodology for Capacity Planning in C/S Environments. Understanding the Environment. Workload Characterization. Breaking Down the Global Workload. Data Collection Issues. Validating Workload Models. Workload Forecasting. Performance Modeling and Prediction. Performance Models. Performance Prediction Techniques. Performance Model Validation. Development of a Cost Model. Cost/Performance Analysis. Concluding Remarks. Bibliography. 6. Understanding and Characterizing the Workload. Introduction. Characterizing the Workload for an Intranet. First Approach. A Simple Example. Workload Model. Workload Characterization Methodology. Choice of an Analysis Standpoint. Identification of the Basic Component. Choice of the Characterizing Parameter. Data Collection. Partitioning the Workload. Resource Usage. Applications. Objects. Geographical Orientation. Functions. Organizational Unit. Model. Calculating Class Parameters. Averaging. Clustering. paragraphData Analysis. paragraphDistance Measures. paragraphScaling Techniques. paragraphClustering Algorithms. Bursty Workloads. Conclusions. Bibliography. 7. Using Standard Industry Benchmarks. Introduction. The Nature of Benchmarks. Benchmark Hierarchy. Avoiding Pitfalls. Common Benchmarks. Component-Level Benchmarks. CPU. Workload. Results. File Server. Laddis. Workload. Results. System-Level Benchmarks. Transaction Processing Systems. TPC-C. paragraphWorkload. paragraphResults. Web Servers. Webstone. paragraphWorkload. paragraphResults. SPECWeb. paragraphWorkload. paragraphResults. Conclusions. Bibliography. 8. System-Level Performance Models. Introduction. Simple Server Model I-Infinite Population/Infinite Queue. Simple Server Model II-Infinite Population/Finite Queue. Generalized System-Level Models. Other System-Level Models. Infinite Population Models. Variable Service Rate and Infinite Queue. Variable Service Rate and Limited Queue Size. Finite Population Models. Fixed Service Rate. Variable Service Rate. Concluding Remarks. Bibliography. 9. Component-Level Performance Models. Introduction Queuing Networks Open Systems. Single-Class Open Queuing Networks. Multiple-Class Open Queuing Networks. Closed Models. Single-Class Closed Models. Bounds for Closed QNs. Multiple-Class Closed Models. Modeling Multiprocessors. An Intranet Model. Concluding Remarks. Bibliography. 10. Web Performance Modeling. Introduction. Incorporating New Phenomena. Burstiness Modeling. Defining a Burstiness Factor. Adjusting Service Demands to Burstiness. Accounting for Heavy Tails in the Model. Client-Side Models. No Cache Proxy Server Case. The Performance Model. Computing Service Demands. Using a Cache Proxy Server. Server-Side Models. Single Web Server. The Performance Model. Computing Service Demands. Mirrored Web Servers. Concluding Remarks. Bibliography. 11. Workload Forecasting. Introduction. Forecasting Strategy. From Business Processes to Workload Parameters. Forecasting Techniques. Regression Methods. Moving Average. Exponential Smoothing. Applying Forecasting Techniques. Concluding Remarks. Bibliography. 12. Measuring Performance. Introduction. Performance Measurement Framework. Measurement Techniques. Event Mode. Sampling Mode. Data Collection Tools. Hardware Monitor. Software Monitor. Accounting Systems. Program Analyzers. Logs. Performance Model Parameters. Queues. Workload Classes. Workload Intensity. Service Demands. Parameter Estimation. Collecting Performance Data. Network. Server. Windows NT283. UNIX286. Concluding Remarks. Bibliography. 13. Wrapping Up. Bibliography. A Glossary of Terms. About the CD-ROM309. The Workbooks. HTTP Log Sample and Program. Subject Index.