SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Individual organizations and society as a whole could face major breakdowns if IT systems do not meet their Quality of Service (QoS) requirements on performance, availability, security, and maintainability. Corporations stand to lose valuable income, and public interests could be put at great risk. System designers and analysts usually do not take QoS requirements into account when designing and/or analyzing computer systems, due mainly to their lack of awareness about the issues that affect performance and the lack of a framework to reason about performance. This book describes how to map real-life systems (e.g., databases, data centers, e-commerce applications) into analytic performance models. The authors elaborate upon these models, and use them to help the reader thoroughly analyze and better understand potential performance issues.
Computer Capacity Planning: Quantifying Performance Models
I. THE PRACTICE OF PERFORMANCE ENGINEERING.
1. Computer System Lifecycle.Introduction.
QoS in IT Systems.
Response Time.
Throughput.
Availability.
Reliability.
Security.
Scalability.
Extensibility.
System Life Cycle.
Requirements Analysis and Speci.cation.
System Design.
System Development.
System Testing.
System Deployment.
System Operation.
System Evolution.
A Reference Model for IT Systems.
Concluding Remarks.
Exercises.
Bibliography.
2. From Systems to Descriptive Models.Introduction.
Modeling.
A Simple Database Server Example.
The Database Server Example: Multiple Classes.
The Database Server Example: Open and Closed Classes.
The Database Server Example: a Mixed Model.
The Database Server Example: Types of Resources.
The Database Server Example: Blocking.
The Database Server Example: Software Contention.
Database Example: Simultaneous Resource Possession.
Database Example: Class Switching.
Database Example: Queuing Disciplines.
QN Models.
Concluding Remarks.
Exercises.
Bibliography.
3. Quantifying Performance Models.Introduction.
Basic Performance Results.
Utilization Law.
Service Demand Law.
The Forced Flow Law.
Little's Law.
Interactive Response Time Law.
Bounds on Performance.
Using QN Models.
Concluding Remarks.
Exercises.
Bibliography.
4. Performance Engineering Methodology.Introduction.
Performance Engineering.
Motivating Example.
A Model-based Methodology.
Workload Model.
Types of Workload Models.
Clustering Analysis.
Performance Models.
Specifying Performance Objectives.
Specifying a Service Level Agreement.
Specifying Response Time.
Specifying Cost.
Concluding Remarks.
Exercises.
Bibliography.
5. Case Study I: A Database Service.Introduction.
Database Service Example.
Preliminary Analysis of the Workload.
Workload Clustering.
Building a Performance Model.
Apportioning Total Utilization to Individual Classes.
Computing Service Demands.
Using the Model.
Adding a Third Disk.
Using a Dual CPU System.
Using Faster Disks.
Moving to a 4-CPU System.
Monitoring Tools.
Hardware Monitors.
Software Monitors.
Hybrid Monitors.
Event-trace Monitoring.
Sampling Monitoring.
Measurements Techniques.
Obtaining Input Parameters.
Measuring CPU Utilization.
Overhead Representation.
Arrival Rate.
Concurrency Level.
Number of Active Terminals and Think Time.
CPU Service Demand.
I/O Service Demands.
Concluding Remarks.
Exercises.
Bibliography.
6. Case Study II: A Web Server.Introduction.
The Web Server.
Preliminary Analysis of the Workload.
Building a Performance Model.
Computing Concurrency Levels.
Computing Service Demands.
Using the Model.
Secure Downloads.
Experimental Comparison of Two Servers.
Concluding Remarks.
Exercises.
Bibliography.
7. Case Study III: A Data Center.Introduction.
The Data Center.
Building a Model.
Using the Model.
Another Modeling Approach.
A Cost Analysis.
Concluding Remarks.
Exercises.
Bibliography.
8. Case Study IV: An E-Business Service.Introduction.
The E-Business Service.
The E-Business Workload.
Building a Performance Model.
Using the Performance Model.
Adding More Servers.
Concluding Remarks.
Exercises.
Bibliography.
9. Case Study V: A Help-Desk Service.Introduction.
The Help Desk Service.
Workload Characterization.
Database Design.
Transaction Logic.
A Performance Model.
Estimating the Number of I/Os.
Estimating Service Demands.
Techniques for SPE.
Obtaining Data for SPE.
Concluding Remarks.
Exercises.
Bibliography.
II. THE THEORY OF PERFORMANCE ENGINEERING.
10. Markov Models.Introduction.
Modeling Context.
Motivating Examples.
Model Construction.
Model Solution.
Model Interpretation.
Model Assumptions and Limitations.
Generalized Birth-Death Models.
Beyond the Basics.
Chapter Summary.
Exercises.
Bibliography.
11. Single Queue Systems.Introduction.
Single-Line Single-Server Systems.
The M/M/1 Queue.
The M/G/1 Queue.
M/G/1 with Vacations.
M/G/1 with Priorities.
Non-Preemptive Priorities.
Preemptive Resume Priorities.
Approximation Results.
Concluding Remarks.
Exercises.
Bibliography.
12. Single Class MVA.Introduction.
MVA Development.
The MVA Algorithm.
Balanced Systems.
MVA Extensions and Limitations.
Chapter Summary.
Exercises.
Bibliography.
13. Queuing Models with Multiple Classes.Introduction.
The Need for Multiple-Class Models.
Simple Two-Class Model.
Notation and Assumptions.
Closed Models.
Exact Solution Algorithm.
Closed Models: Case Study.
Approximate Solution Algorithms.
Open Models.
Analysis of Multiclass Open Models.
Open Models: Case Study.
Mixed Models.
Concluding Remarks.
Exercises.
Bibliography.
14. Queuing Models with Load Dependent Devices.Introduction.
Motivating Example.
Client-Server Performance.
Design Questions for a CS Application.
System and Workload Specification.
Single Class Models with LD Devices.
Multiclass Closed Models with LD Devices.
Multiclass Open Models with LD Devices.
Flow-Equivalent Server Method.
Concluding Remarks.
Exercises.
Bibliography.
15. Non Product-Form Queuing Models.Introduction.
Modeling High Service Time Variability.
The Decomposition Approach.
New MVA-based Decomposition Approach.
Modeling Blocking Effects.
Single Class.
Multiple Classes.
Modeling Priority Scheduling.
Two-Priority Example.
SWIC Priority Algorithm.
Modeling Software Contention.
Single Class Algorithm.
Open QN at the Software Level.
The Multiclass Algorithm.
Modeling Fork/Join Queuing Networks.
Concluding Remarks.
Exercises.
Bibliography.
Subject Index.