PART I An Overview of Performance Tuning and Optimzation 3
1 Introduction to Performance Tuning and Optimization 3
Why Is PTO Importans? 4
Lower Equipment Costs 4
Increased User Productivity 5
Improved User Attitude 5
Greater Reliability Due to Lower Equipment Stress 5
Reduced Application Errors 6
Reduced Administrator Troubleshooting Time 6
Overview of the Performance Console 7
What Is a Bottleneck? 9
Processor Bottlenecks 9
Memory Bottlenecks 9
Disk Bottlenecks 9
Network Bottlenecks 10
What Is Capacity Planning? 10
PTO and the Internet 10
Summary 11
2 The Microsoft Windows 2000 Kernel 13
Executive Service 14
User Mode versus Kernel Mode 15
Understanding the Executive Exported Functions 15
An Overview of Executive Components 17
Working with Executive Objects 19
Synchronization Issues 20
Hardware Abstraction Layer (HAL) 22
How the HAL Affects Performance 24
Understanding the I/O Hierarchy 24
Understanding the I/O Manager and Kernel Mode Device Drivers 25
Windows 2000 Subsystems 26
Environment Subsystems 27
Windows 2000 Managers 33
I/O Manager 33
LPC Facility 34
Object Manager 35
Security Reference Manager 35
Virtual Memory Manager 35
Windows 2000 Applications 36
Win32 Application 36
POSIX Application 37
OS/2 Application 37
Summary 38
3 Processes and Threads and Memory Management 39
Understanding Processes and Threads 40
Processes Define the Application 41
Threads Are Application Laborers 42
Ways to View Processes and Threads 51
Task Manager 51
System Monitor 54
Computer Management 56
Developer Tools 57
Prioritizing Processes and Threads 62
Multiprocessing and Performance 64
Two Processors Don t Equal Twice the Performance 65
Symmetric versus Asymmetric Multiprocessing 65
Understanding Application Multiprocessing Requirements 66
Microsoft Windows 2000 Memory Model 67
Virtual Memory Management 68
Summary 69
4 Performance Monltoring In Microsoft Windows 2000 71
Using the Microsoft Management Console 72
View Real-Time Performance Data from the Comfort of Your Computer Screen 73
Analyze Data Collected Either Currently or Previously in a Counter Log 74
Ability to View Collected Data in Various Views 74
Understanding Performance Counters, Objects, and Instances 75
Objects and Instances 76
Selecting Counters to Monitor 81
Overview of Important Performance Counters 83
Monitoring Legacy Programs 87
Monitoring Other Computers 89
Reducing Overhead 94
Interpreting Performance Data 95
Setting How Often to Monitor 96
Exploring System Monitor Views 97
Chart View 100
Report View 103
Performance Log and Alerts Views 104
Exporting Performance Data 111
Summary 112
PART Ⅱ Battle of the Bulge: Handling Bottienecks 115
5 Diagnosing Processor Bottienecks 115
What Is a Processor Bottleneck? 116
Quantifying a Processor Bottleneck 117
Testing for Processing Bottlenecks 119
Processor-Bound Application Types 124
Potential Solutions for Processor Bottlenecks 126
Check for Simple Problems First 126
Remove Unneeded Services 127
Perform Task Scheduling 130
Current Processor Technology Overview 130
Future Directions in Processor Technology 132
Summary 134
6 Diagnosing Memory Bottlenecks 135
Understanding and Using Memory 136
Memory and Its Acronyms 136
How Microsoft Windows 2000 Uses Memory 142
Reliability Considerations for Memory 150
Detecting Memory Bottlenecks 152
Using Task Manager to Monitor Processes 152
Monitoring Memory Problems with System Monitor 154
Creating Memory-Related Alerts 155
Configuration Solutions for Memory Bottlenecks 155
Efficient Use of Virtual Memory 156
Turning Off Unneeded Services 158
Disk Optimization, A Hidden Performance Boost 158
Summary 160
7 Diagnosing Disk Bottienecks 161
What Is a Disk Bottleneck? 164
Detecting Disk Bottlenecks 166
Using Disk Defragmenter as an Analysis Tool 166
Checking Your Hardware 171
Using System Monitor to Find Disk Problems 174
Disk-Bound Application Types 178
Potential Solutions for Disk Bottlenecks 179
Using New Disk Technologies 181
Working with Storage Area Networks (SANs) 181
Working with Zip and Jaz Drives 186
Working with Solid State Drives (SSDs) 188
Comparing Disk-Formatting Technologies 189
Disk Mirroring 191
Disk Duplexing 191
Drive Striping 192
RAID-5 192
Summary 193
Part Ⅲ Tuning the Network 197
8 Network Problems 197
Overview of Network Bottleneck Sources 199
Operation System Sources 200
Local Machine Sources 208
Remote Node Sources 209
Other Sources 211
Overview of Network Topology Limitations 213
Theoretical Versus Real-World Performance 214
Understanding Fiber-Optic Performance Characteristics 216
Performance and Aging 218
Understanding Network Component Interactions 220
User-Oriented Network Bottleneck Solutions 224
Monitoring Network Performance 224
Training Network Users 224
Setting Network Security 225
Monitoring Network Application Performance 225
Other User0Oriented Network Influences 226
Hardware-Oriented Network Bottleneck Solutions 226
Ensuring It Works 227
Using Vendor-Supplied Drivers 228
Widening the Pipe 231
Quality Does Make a Difference 232
Software-Oriented Network Bottleneck Solutions 232
Operating System versus Application Problems 233
Understanding Authentication Choices in DCOM 234
A Look at Bindings 238
A Look at Providers 239
Summary 240
9 Microsoft Active Directory Services and Tuning 241
Active Directory Terminology and Structure 242
Schema 242
Object 243
Scope 243
Namespace 243
Container 244
Tree 244
Name 244
Domain Tree 246
Forest 246
Site 247
Partition 247
Global Catalog 248
Active Directory Deployment 248
Active Directory Installation 249
Active Directory Management 255
Active Directory Users and Computers 256
Active Directory Sites and Services 256
Active Directory Domains and Trusts 256
ADSI (Active Directory Service Interfaces) 257
Active Directory Performance Issues 259
Replication Issues 259
Directory Roaming 260
Active Directory Services and Applications 261
Active Directory Replication 263
Windows NT Replication 263
Directory Replication through Multimaster Replication 264
Keeping Track of Updates 266
Intrasite Replication 267
Intersite Replication 267
Global Active Directory Replication (Enterprise Networks) 268
Network Issues 268
Site Links 268
Active Directory Replication Traffic 270
DNS Services 272
Active Directory Database Sizing and Fragmentation 272
Database Size 273
Database Defragmentation 273
Monitoring Active Directory Activity 274
Summary 278
PART Ⅳ Other Tuning Considerations 281
10 New Tuning Features in Microsoft Windows 2000 281
Disk Quotas and Accounting 282
Web Site Support 284
Process Throttling 285
Bandwidth Throttling 289
Process Accounting 293
HTTP Compression 298
Improved Multiprocessor Support 300
Multiprocessing Myths Exposed 301
Reconfiguring Your Server for Multiprocessor Support 302
I2O Support 306
Overview of the I20 Standard 306
Overview of the I20 Processor 307
Networking Needs 308
Working with Quality of Service (QoS) Settings 308
Understanding the Resource Reservation Protocol (RSVP) 315
Summary 316
11 Capacity Planning 319
Deciding What Level of Performance You Need 320
Relationship Between Capacity and Performance 322
System Losses and Performance 322
Considering a Load s Effect on Performance 325
Adding Reliability to Your Performance Picture 327
Reliability and Windows 2000 Specific Features 327
Application Reliability Effects 331
Reliability and Hardware 333
Dependable Networking Technologies 337
Manual Versus Automatic Reliability Features 338
Understanding Vendor Claims versus Real-World Performance 343
Greating a Graphical Representation of Your Network 345
Looking for Performance Bottlenecks 347
Summary 349
12 Microsoft Windows 2000 and Its Versions 351
Overview of the Windows 2000 Versions 353
Windows 2000 Server 354
Windows 2000 Advanced Server 356
Windows 2000 Datacenter Server 360
General Server Tuning Techniques 361
Quick Tips for Small Gains 362
Taking Out the Trash 367
Creating Permanent Pagefiles 370
Special Tuning Concerns for Advanced Server 373
Special Tuning Concerns for Datacenter Server 374
Summary 376
13 Microsoft Windows 2000 and Clustering 377
How Cluster Service Can Help You 377
Benefits of Clustering Under Windows 2000 378
Scalability 378
High Availability 379
Manageability 380
Resource Fallover and Network Load Balancing 381
Understanding Resource Fallover and Fallback 381
UnderStanding Network Load Balancing 382
Guidelines for Creating a Cluster 383
Additional Information Needed Before Installation Begins 383
Installing Cluster Service 384
Network Failure Detection 389
Clustered Environment Scenarios 389
Hot Spare 389
State Load Balancing 390
Virtual Server (No Fallover) 391
Hybrid Cluster 393
Partial Server Cluster 394
Managing a Windows 2000 Server Cluster 395
Cluster Administrator Tool 395
Command Line Administration 396
Third-Party Support for Cluster Service 399
Cluster Resources 401
Cluster Application 402
Summary 402
14 Microsoft Windows 2000 and the Internet 405
Internet Information Services 5.0 405
Installing IIS 5.0 406
Performance and Reliability 407
Clustering and IIS 407
Processor Throttling 409
Bandwidth Throttling 410
Process Accounting 411
Application Protection 413
Socket Pooling 414
HTTP Compression 415
Tuning IIS 5.0 416
Performance Bar 416
Application Response 417
Logging Only When Needed 418
Network Configuration and Settings 419
Performance Tuning Active Server Pages 422
Session Timeout 424
Enable Buffering 424
ASP Threads and Script Engines 424
Performance Testing Your Web Site 425
Windows Media Load Simulator 425
Web Capacity Analysis Tool 429
Windows Application Stress Tool 436
Summary 439
Part Ⅴ Special Tuning Tools 443
15 Microsoft Windows 2000 Resource Kit Performance Tools 443
Installation Overview 444
A Look at the Additional Components Option 447
Microsoft Applications Option 448
3rd Party Applications Option 450
An Overview of Performance Tools 450
Clear Memory 451
ClusterSentinel 452
Counter List 453
CPU Stress 454
CPU Usage in Processes 456
Disk Alignment Tool 457
Empty Working Set 458
Extensible Performance Counter List 458
Leaky Application 459
List Loaded Drivers 460
Page Fault Monitor 462
PerMon Chart Setting Editor 464
Performance Data Block Dump Utility 465
Performance Data in the Command Window 467
Performance Meter 467
Performance Monitor 4 469
Perf Monitor 469
Program Timer 471
Time Ordered Processes 471
Total Processors 472
Virtual Address Dump 474
Summary 476
16 Third-Party Tuning Tools 477
Shareware Tools 478
Fundelete 481
PsKill 482
Portmon 483
Smartline DeviceLock 485
TOTALidea WinRAM Booster 488
General Administration Tools 489
CyberSafe Log Analyst 491
Seagate Crystal Reports 6 492
Hardware-Oriented Tools 493
Executive Software Diskeeper 495
Norton CleanSweep 496
Norton Utilities 498
PowerQuest ServerMagic and DriveCopy 499
TouchStone Checkit 500
Network-Specific Tools 500
Intergraph SmartSketch LE 501
Summary 503
Glossary 505
Index 525