| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
| |
Performance Analysis Techniques | |
| |
| |
| |
Introduction to Storage Networking Performance | |
| |
| |
Storage Networking | |
| |
| |
Defining the Storage Networking Model | |
| |
| |
Exploring Storage Networking Model Examples | |
| |
| |
Storage Networking Performance | |
| |
| |
Storage Performance Metrics | |
| |
| |
Evaluating Storage Performance Requirements | |
| |
| |
Conducting a Systematic Performance Evaluation | |
| |
| |
Summary | |
| |
| |
Storage Networking | |
| |
| |
Storage Networking Performance | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Data Analysis Review | |
| |
| |
Summarizing Data | |
| |
| |
Measures of Central Tendency | |
| |
| |
Measures of Data Spread | |
| |
| |
Variance and Standard Deviation | |
| |
| |
Standard Error of the Mean | |
| |
| |
Confidence Interval and Confidence Level | |
| |
| |
Random Numbers and Probability Distributions | |
| |
| |
Normal Distribution | |
| |
| |
Exponential Distribution | |
| |
| |
Poisson Distribution | |
| |
| |
Uniform Distribution | |
| |
| |
Statistical Games | |
| |
| |
Summary | |
| |
| |
Summarizing Data | |
| |
| |
Measures of Central Tendency | |
| |
| |
Measures of Data Spread | |
| |
| |
Random Numbers and Probability Distributions | |
| |
| |
Statistical Games | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Analytic Modeling | |
| |
| |
Introduction to Analytic Modeling | |
| |
| |
Fundamental Performance Laws | |
| |
| |
Defining a Queuing Center | |
| |
| |
Little's Law | |
| |
| |
Utilization Law | |
| |
| |
Forced Flow Law | |
| |
| |
Service Demand Law | |
| |
| |
Introduction to Queuing Networks | |
| |
| |
Symbols and Terminology | |
| |
| |
Single Queue Calculations | |
| |
| |
Open Queuing Networks | |
| |
| |
Closed Queuing Networks | |
| |
| |
Bottleneck Analysis and Performance Bounds | |
| |
| |
Lower Bound for Throughput | |
| |
| |
Upper Bound for Throughput | |
| |
| |
Summary | |
| |
| |
Introduction to Analytic Modeling | |
| |
| |
Fundamental Performance Laws | |
| |
| |
Introduction to Queuing Networks | |
| |
| |
Bottleneck Analysis and Performance Bounds | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Simulation Modeling | |
| |
| |
Simulation Concepts | |
| |
| |
Model Correctness | |
| |
| |
When to Simulate? | |
| |
| |
Advantages of Simulation | |
| |
| |
Disadvantages of Simulation | |
| |
| |
Sensitivity Analysis and Model Outputs | |
| |
| |
Simulation Software Tools | |
| |
| |
Simulation Examples | |
| |
| |
Guidelines for Simulation Projects | |
| |
| |
Summary | |
| |
| |
Simulation Concepts | |
| |
| |
Model Correctness | |
| |
| |
When to Simulate? | |
| |
| |
Sensitivity Analysis and Model Outputs | |
| |
| |
Simulation Software Tools | |
| |
| |
Simulation Examples | |
| |
| |
Guidelines for Simulation Projects | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Experimental Analysis | |
| |
| |
Introduction to Experimental Analysis | |
| |
| |
Design of Experiments | |
| |
| |
Full Factorial Designs | |
| |
| |
Fractional Factorial Designs | |
| |
| |
Regression Analysis | |
| |
| |
Summary | |
| |
| |
Introduction to Experimental Analysis | |
| |
| |
Design of Experiments | |
| |
| |
Regression Analysis | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Performance Analysis and Modeling of Storage System Components | |
| |
| |
| |
Modeling Storage Devices | |
| |
| |
Introduction to Data Storage Devices | |
| |
| |
Random Access Memory | |
| |
| |
Hard-Disk Drives | |
| |
| |
Disk Drive Mechanics and Operations | |
| |
| |
Modeling Disk Drives | |
| |
| |
Disk Arrays | |
| |
| |
Disk Array Architectures | |
| |
| |
Modeling Disk Arrays | |
| |
| |
Magnetic Tapes | |
| |
| |
Optical Disks | |
| |
| |
Summary | |
| |
| |
Data Storage Devices | |
| |
| |
Random Access Memory | |
| |
| |
Hard-Disk Drives | |
| |
| |
Disk Arrays | |
| |
| |
Magnetic Tapes | |
| |
| |
Optical Disks | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Modeling Storage Interconnects | |
| |
| |
IO Interconnects | |
| |
| |
Modeling Interconnects | |
| |
| |
Host Connections | |
| |
| |
PCI | |
| |
| |
PCI-Express | |
| |
| |
InfiniBand | |
| |
| |
Storage Device Connections | |
| |
| |
ATA | |
| |
| |
Serial ATA | |
| |
| |
SCSI Architecture | |
| |
| |
Parallel SCSI | |
| |
| |
Serial-Attached SCSI | |
| |
| |
Fibre Channel | |
| |
| |
Summary | |
| |
| |
IO Interconnects | |
| |
| |
Modeling Interconnects | |
| |
| |
Host Connections | |
| |
| |
Storage Device Connections | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Modeling Storage Networks | |
| |
| |
Storage Networks | |
| |
| |
Fibre Channel Storage Networks | |
| |
| |
Fibre Channel Flow Control | |
| |
| |
Classes of Service in Fibre Channel | |
| |
| |
IP Storage Networks | |
| |
| |
iSCSI | |
| |
| |
iFCP and FCIP | |
| |
| |
Gigabit Ethernet | |
| |
| |
Other Storage Networks | |
| |
| |
Modeling Storage Networks | |
| |
| |
Modeling Switches and Routers | |
| |
| |
Modeling Arbitrated Loops | |
| |
| |
A Simulation Model for Fibre Channel Storage Networks | |
| |
| |
An Analytic Model for Fibre Channel Storage Networks | |
| |
| |
Summary | |
| |
| |
Storage Networks | |
| |
| |
Fibre Channel Storage Networks | |
| |
| |
IP Storage Networks | |
| |
| |
Modeling Storage Networks | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Modeling Storage Workloads | |
| |
| |
The Importance of a Workload Definition | |
| |
| |
Types of Workloads | |
| |
| |
Describing Workloads | |
| |
| |
Open and Closed Workloads | |
| |
| |
Throughput versus Response Time Workloads | |
| |
| |
Stochastic versus Trace-Based Workloads | |
| |
| |
Self-Similar and Heavy-Tailed Workloads | |
| |
| |
Parameterizing Storage Workloads | |
| |
| |
Workload Type and the Number of Streams | |
| |
| |
IO Type | |
| |
| |
Request Size | |
| |
| |
Queue Depth | |
| |
| |
Reference Address | |
| |
| |
Locality | |
| |
| |
Arrival Time and Rate | |
| |
| |
Common Storage Workloads | |
| |
| |
Web Server Workload | |
| |
| |
File Server Workload | |
| |
| |
Video Server Workload | |
| |
| |
Write Streaming Workload | |
| |
| |
Summary | |
| |
| |
The Importance of a Workload Definition | |
| |
| |
Types of Workloads | |
| |
| |
Describing Workloads | |
| |
| |
Parameterizing Storage Workloads | |
| |
| |
Common Storage Workloads | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Performance Engineering | |
| |
| |
| |
Storage Quality of Service | |
| |
| |
Defining Quality and Service | |
| |
| |
Storage QoS | |
| |
| |
IP Network QoS | |
| |
| |
Differentiated Services | |
| |
| |
Multiprotocol Label Switching | |
| |
| |
Performance Management for Storage QoS | |
| |
| |
Service Level Agreements | |
| |
| |
QoS by Overengineering | |
| |
| |
Managing QoS | |
| |
| |
Summary | |
| |
| |
Defining Quality and Service | |
| |
| |
Storage QoS | |
| |
| |
Network QoS | |
| |
| |
Performance Management for Storage QoS | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Capacity Planning | |
| |
| |
Capacity Planning Concepts | |
| |
| |
System Level Performance Analysis | |
| |
| |
Cost/Performance Analysis | |
| |
| |
Capacity Analysis with Queuing Network Models | |
| |
| |
| |
Queuing Network Capacity Analysis | |
| |
| |
| |
System Throughput Limits | |
| |
| |
Capacity Planning Tools | |
| |
| |
Summary | |
| |
| |
Capacity Planning Concepts | |
| |
| |
System-Level Performance Analysis | |
| |
| |
Cost/Performance Analysis | |
| |
| |
Capacity Analysis with Queuing Network Models | |
| |
| |
Capacity Planning Tools | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Performance Tools | |
| |
| |
| |
Storage Benchmarks | |
| |
| |
Benchmarking Considerations | |
| |
| |
Block I/O Benchmarks | |
| |
| |
IOmeter | |
| |
| |
Storage Performance Council Benchmarks | |
| |
| |
File System Benchmarks | |
| |
| |
File System Benchmarking Considerations | |
| |
| |
Bonnie | |
| |
| |
IOzone | |
| |
| |
NetBench | |
| |
| |
PostMark | |
| |
| |
SPEC SFS | |
| |
| |
Application-Level Benchmarks | |
| |
| |
TPC Benchmarks | |
| |
| |
SPEC Web | |
| |
| |
Real Applications as Benchmarks | |
| |
| |
Summary | |
| |
| |
Benchmarking Considerations | |
| |
| |
Block I/O Benchmarks | |
| |
| |
File System Benchmarks | |
| |
| |
Application-Level Benchmarks | |
| |
| |
Real Applications as Benchmarks | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Performance Management and Monitoring Tools | |
| |
| |
Introduction to Performance Management | |
| |
| |
Enterprise Management | |
| |
| |
Enterprise Management Protocols | |
| |
| |
Enterprise Management Tools | |
| |
| |
Bluefin, Standards-Based Storage Management | |
| |
| |
Storage Management Tools | |
| |
| |
Performance Monitoring Tools | |
| |
| |
Windows System Monitor | |
| |
| |
Network Monitoring Tools | |
| |
| |
Storage Network Monitoring Tools | |
| |
| |
Summary | |
| |
| |
Introduction to Performance Management | |
| |
| |
Enterprise Management | |
| |
| |
Bluefin, Standards-Based Storage Management | |
| |
| |
Storage Management Tools | |
| |
| |
Performance Monitoring Tools | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Performance Tuning | |
| |
| |
| |
Host System Tuning | |
| |
| |
Host System Architecture | |
| |
| |
Processor Tuning | |
| |
| |
File System Optimizations | |
| |
| |
Windows Volume Shadow Copy Service | |
| |
| |
Windows Virtual Disk Service | |
| |
| |
Direct Access File System Protocol | |
| |
| |
Network Interface Optimizations | |
| |
| |
TCP/IP Network Protocol Optimizations | |
| |
| |
Protocol Offload Hardware | |
| |
| |
Zero-Copy Network Stack | |
| |
| |
Summary | |
| |
| |
Host System Architecture | |
| |
| |
Processor Tuning | |
| |
| |
File System Optimizations | |
| |
| |
Network Interface Optimizations | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Application Tuning | |
| |
| |
Optimizing Applications for Storage | |
| |
| |
Optimizing Database Systems | |
| |
| |
Designing for Backups | |
| |
| |
Problems with Conventional Network Backup | |
| |
| |
LAN-Free Network Backup | |
| |
| |
Server-Free Network Backup | |
| |
| |
Network Data Management Protocol | |
| |
| |
Accelerating Backups Using Point-in-Time Copy | |
| |
| |
File-Level Backup versus Image Backup | |
| |
| |
Modeling Network Backups | |
| |
| |
Summary | |
| |
| |
Optimizing Applications for Storage | |
| |
| |
Optimizing Database Systems | |
| |
| |
Designing for Backups | |
| |
| |
Modeling Network Backups | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Subsystem Tuning | |
| |
| |
Storage Subsystem Architectures | |
| |
| |
Data Layout Optimizations | |
| |
| |
Choosing a RAID Level | |
| |
| |
Automatic RAID Level Tuning | |
| |
| |
Stripe Unit Size Tuning | |
| |
| |
RAID Controller Implementation | |
| |
| |
Speeding-Up Parity Calculations | |
| |
| |
Intelligent Storage Devices | |
| |
| |
Summary | |
| |
| |
Storage Subsystem Architectures | |
| |
| |
Data Layout Optimizations | |
| |
| |
Speeding-Up Parity Calculations | |
| |
| |
Intelligent Storage Devices | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Storage Network Tuning | |
| |
| |
Storage Network Topologies | |
| |
| |
Mesh Networks | |
| |
| |
Core-Edge Designs | |
| |
| |
Performance Requirements | |
| |
| |
Improving the Network with Faster Links | |
| |
| |
Partitioning the Network with Zoning | |
| |
| |
Design of Back-End Storage Networks | |
| |
| |
Summary | |
| |
| |
Storage Network Topologies | |
| |
| |
Improving the Network with Faster Links | |
| |
| |
Partitioning the Network with Zoning | |
| |
| |
Design of Back-End Storage Networks | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Case Studies | |
| |
| |
| |
Simulating Network Attached Storage Performance | |
| |
| |
Network Attached Storage IO Path | |
| |
| |
Modeling Network Attached Storage | |
| |
| |
Simulation Modules | |
| |
| |
Modeling the NAS Server | |
| |
| |
Modeling Client Workloads | |
| |
| |
Performance Analysis Using the Model | |
| |
| |
Effects of Cache Hit Rates | |
| |
| |
Server and Network Speed | |
| |
| |
Server NVRAM Size | |
| |
| |
Summary | |
| |
| |
Network Attached Storage IO Path | |
| |
| |
Modeling Network Attached Storage | |
| |
| |
Performance Analysis Using the Model | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Modeling Remote Storage Replication Performance | |
| |
| |
Remote Storage Replication | |
| |
| |
An Analytic Model for Remote Data Access | |
| |
| |
Closed Queuing Network Model | |
| |
| |
Computing Bounds on System Throughput | |
| |
| |
Experimental Verification of the Model | |
| |
| |
Experimental Laboratory Setup | |
| |
| |
Experimental Results with the WAN Simulator | |
| |
| |
Experiments Across Geographically Distant Sites | |
| |
| |
System Analysis for Remote Access | |
| |
| |
Link Speed Variations | |
| |
| |
Queue Depth and Buffer Size Variations | |
| |
| |
Protocol Variations | |
| |
| |
Modeling Variations | |
| |
| |
Summary | |
| |
| |
Remote Storage Replication | |
| |
| |
An Analytic Model for Remote Data Access | |
| |
| |
Experimental Verification of the Model | |
| |
| |
System Analysis for Remote Access | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Web and E-Commerce Data Center Performance Analysis | |
| |
| |
Data Center Architecture | |
| |
| |
Operational Analysis | |
| |
| |
A Systems Performance Analysis Example | |
| |
| |
Where Is the Bottleneck? | |
| |
| |
Removing the Performance Bottleneck | |
| |
| |
Summary | |
| |
| |
Data Center Architecture | |
| |
| |
Operational Analysis | |
| |
| |
A Systems Performance Analysis Example | |
| |
| |
Where Is the Bottleneck? | |
| |
| |
Removing the Performance Bottleneck | |
| |
| |
References and Additional Resources | |
| |
| |
| |
Glossary of Terms and Acronyms | |
| |
| |
Index | |