List of Tables | p. x |
List of Figures | p. xi |
Introduction | p. xv |
Preliminaries | p. 1 |
Introduction to Performance Tuning and Capacity Planning | p. 3 |
What Is Performance Tuning? | p. 4 |
What Is Capacity Planning? | p. 5 |
Tools and Methods | p. 6 |
Capacity Management | p. 11 |
Thinking about Capacity Management | p. 17 |
Summary | p. 18 |
Computer Component Overview | p. 21 |
Introduction | p. 22 |
The Processor Subsystem | p. 23 |
The Memory Subsystem | p. 27 |
The Input/Output Subsystem | p. 30 |
The Networking Subsystem | p. 32 |
The Operating System | p. 33 |
Application Programs | p. 35 |
Summary | p. 35 |
Defining Performance and Selecting Metrics | p. 37 |
Introduction | p. 38 |
Performance Variables | p. 39 |
Workloads | p. 41 |
Service Levels | p. 43 |
Performance Evaluation Techniques | p. 44 |
Performance Metrics | p. 46 |
Avoiding Mistakes | p. 47 |
Summary | p. 48 |
Queuing Models | p. 49 |
Everyday Queuing Models | p. 50 |
Basic Concepts | p. 50 |
Queuing Laws | p. 56 |
Process Models | p. 60 |
Performance Bounds and Bottleneck Analysis | p. 61 |
Summary | p. 65 |
Operating System Structure | p. 67 |
Kernel Architecture | p. 69 |
Overview | p. 70 |
Introduction to the Kernel | p. 71 |
Address Spaces | p. 74 |
Execution Modes | p. 79 |
Kernel Structure | p. 81 |
32-Bit Versus 64-Bit Computing | p. 86 |
How Does Solaris Differ from UNIX SVR4? | p. 87 |
Summary | p. 90 |
Memory | p. 91 |
An Overview of Virtual Memory and Paging | p. 92 |
User Contexts and Hardware Contexts | p. 95 |
Physical Memory Types and Cache | p. 96 |
The Paging Process in Uniprocessor Machines | p. 98 |
The Paging Process in Multiprocessor Machines | p. 100 |
Components and Structures of Virtual Memory | p. 101 |
Memory Management | p. 103 |
Summary | p. 107 |
Process and Thread Management | p. 109 |
Overview | p. 110 |
Threads | p. 113 |
Lightweight Processes | p. 114 |
Multiprocessing | p. 116 |
Preemption, Interrupts, and Real-time Support | p. 116 |
Scheduling | p. 117 |
Priorities | p. 121 |
Summary | p. 122 |
File System Fundamentals | p. 123 |
Types of File Systems | p. 124 |
UFS | p. 128 |
NFS and DFS | p. 132 |
Summary | p. 133 |
Networking and Communication Fundamentals | p. 135 |
Basic Input and Output | p. 136 |
Networking Protocols | p. 138 |
Network Topologies | p. 140 |
Ethernet | p. 142 |
Asynchronous Transfer Mode (ATM) | p. 147 |
Fiber Distributed Data Interface (FDDI) | p. 147 |
Token-Ring | p. 148 |
Outside Connectivity | p. 148 |
Summary | p. 151 |
System Performance Tuning | p. 153 |
Monitoring Activity and Workloads | p. 155 |
Overview | p. 156 |
What Is the System Doing? | p. 156 |
Managing the Workload | p. 175 |
Some Common Problems and Suggestions for Improvement | p. 187 |
Other Useful Commands | p. 188 |
Summary | p. 191 |
Memory Management | p. 193 |
Overview | p. 194 |
Paging Versus Swapping | p. 194 |
Demand Paging | p. 195 |
Problem Indicators | p. 195 |
Monitoring Paging and Swapping | p. 196 |
proc Tools | p. 206 |
Problem Indicators | p. 207 |
Resolving and Avoiding Memory Problems | p. 207 |
Summary | p. 209 |
I/O Performance Management | p. 211 |
Disk Performance Tuning Basics | p. 212 |
Hardware Considerations | p. 212 |
File System Implementation Considerations | p. 220 |
Creating Optimized File Systems | p. 223 |
Monitoring File System Performance | p. 227 |
Identifying Performance Problems | p. 232 |
Tuning File System Performance | p. 235 |
Imposing Limits on Disk Usage | p. 238 |
Summary | p. 242 |
Network Performance Management | p. 245 |
Overview | p. 246 |
Latency, Bandwidth, and Utilization | p. 247 |
Identifying Performance Problems | p. 250 |
Tuning Network Parameters | p. 269 |
Summary | p. 275 |
Network Services Performance Management | p. 277 |
NFS | p. 278 |
NFS and the Cache File Systems | p. 284 |
NIS+ | p. 287 |
DNS | p. 289 |
nscd | p. 289 |
inetd | p. 293 |
sendmail | p. 293 |
rpc.rstatd | p. 295 |
WWW Servers | p. 296 |
Summary | p. 305 |
Kernel Tuning | p. 307 |
Introduction to Kernel Tuning on Solaris | p. 308 |
maxusers | p. 315 |
Other Kernel Variables | p. 316 |
Fixed Parameters | p. 317 |
Tunable Memory and Paging Parameters | p. 320 |
Setting IPC and Shared Memory Parameters | p. 322 |
Summary | p. 328 |
Capacity Planning | p. 329 |
System Activity | p. 331 |
System Activity Data Collector | p. 332 |
Setting Up System Data Collection | p. 332 |
sar--The System Activity Reporter | p. 332 |
The System Activity Reports | p. 333 |
sag--The System Activity Reports Graphical Interface | p. 350 |
Summary | p. 352 |
System Accounting | p. 353 |
Overview | p. 354 |
Setting Up Accounting | p. 354 |
runacct--Run Daily Accounting | p. 355 |
Accounting Control Commands | p. 358 |
Accounting File Processing Commands | p. 359 |
Reporting Commands | p. 364 |
Summary | p. 372 |
Capacity Planning Management | p. 375 |
Predicting Capacity Requirements | p. 376 |
Reporting Issues | p. 381 |
The Life Cycle of the Capacity-Planning Function | p. 385 |
Developing a Continuing Structure | p. 387 |
Summary | p. 390 |
Index | p. 391 |
Table of Contents provided by Syndetics. All Rights Reserved. |