Daniel Menasce, George
Mason University, Virginia
Virgilio A.F. Almeida, Federal Univeristy of Minas Gerais, Brazil
Published June, 1998 by Prentice Hall PTR (ECS Professional)
Copyright 1998, 336 pp.
Paper ISBN 0-13-693822-1
"This excellent book presents a new way to model, analyze, and plan for these new
performance problems associated with the Web's bursty and highly-skewed load
characteristics. A valuable resource for students and for Web administrators." -- Jim
Gray, Senior Researcher, Microsoft Research
"Many have said that the
Web is too amorphous and chaotic to permit meaningful performance forecasts. Menasce and
Almeida demolish this myth. Throughput, response time, and congestion can be measured and
predicted, all using familiar tools from queueing networks that you can run on your own
computer. There is no other book like this. It is a first." -- Peter J. Denning,
Professor of Computer Science, George Mason University and former President of the ACM
"This book takes the
mystery out of analyzing Web performance. The authors have skillfully culled through more
than a 25 years of research, and selected the results most critical to Web performance,
and developed important new material that deals directly with the special properties of
applications that run on the Web. With everything together in a single volume, Menasce and
Almeida have created a superb starting point for anyone wishing to explore the world of
Web performance." -- Jeffrey P. Buzen, Chief Scientist and CoFounder, BGS Systems
"This is a welcome
approach to the performance analysis of today's web-based Internet. It is a useful and
practical treatment that is eminently accessible to the non-mathematical professional. An
impressive feature the authors provide is to deal directly with the fractal nature of
web-based traffic; no simple and practical treatment has been offered before, and theirs
is a timely contribution." -- Leonard Kleinrock, Professor of Computer Science,
UCLA
As more and more businesses
rely on distributed client/server and Web-based applications, performance considerations
become extremely important. Capacity Planning for Web Performance uses quantitative
methods to analyze these systems. It leads the capacity planner, in a step-by-step
fashion, through the process of determining the most cost-effective system configurations
and networking architectures. The quantitative methods lead to the development of
performance-predictive models for capacity planning. Instead of relying on intuition, ad
hoc procedures, and rules of thumb, Capacity Planning for Web Performance provides a
uniform and sound way for dealing with performance problems. A large number of numeric and
practical examples help the reader understand the quantitative approach adopted here.
Includes a CD-ROM containing
several Microsoft Excel(r) workbooks supported by Visual Basic(r) modules, samples of http
logs, and programs to process them. The Excel workbooks allow the readers to immediately
put into practice the methods and models discussed here.
Includes the following tools
for analyzing client/server systems, intranets, and Internet Web sites:
Performance-oriented analysis
of network protocols
Modeling of delays
Workload characterization and
forecasting
Use of industry-standard
benchmarks
Queuing network-based models
DANIEL A. MENASCE is a
Professor of Computer Science at George Mason University, VA. He has published extensively
in the area of performance modeling, client/system performance evaluation, and software
performance engineering. Menasce was elected a Fellow of the Association for Computing
Machinery (ACM) in recognition of outstanding contributions to information technology.
VIRGILIO A. F. ALMEIDA is a
Professor of Computer Science at the Federal University of Minas Gerais (UFMG), Brazil. He
has published extensively in the area of distributed systems and World Wide Web
performance. Almeida held visiting faculty and research positions at Boston University and
XEROX PARC.
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.