Foreword |
|
xv | |
Preface |
|
xvii | |
The team that wrote this redbook |
|
xviii | |
Comments welcome |
|
xx | |
|
|
1 | (6) |
|
|
1 | (1) |
|
Netfinity Performance Lab |
|
|
2 | (1) |
|
IBM Center for Microsoft Technologies |
|
|
3 | (1) |
|
|
4 | (3) |
|
Understanding server types |
|
|
7 | (12) |
|
|
7 | (3) |
|
Windows 2000 Active Directory domain controllers |
|
|
9 | (1) |
|
|
10 | (2) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (2) |
Part 1. Server subsystems |
|
19 | (196) |
|
|
21 | (4) |
|
Processors and cache subsystem |
|
|
25 | (38) |
|
|
25 | (19) |
|
|
25 | (2) |
|
|
27 | (2) |
|
|
29 | (5) |
|
|
34 | (3) |
|
Pentium III and Pentium III Xeon processors |
|
|
37 | (7) |
|
|
44 | (1) |
|
SMP design and performance |
|
|
44 | (8) |
|
|
45 | (5) |
|
|
50 | (2) |
|
|
52 | (2) |
|
|
52 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
54 | (9) |
|
|
54 | (3) |
|
|
57 | (3) |
|
CPU scaleability rules of thumb |
|
|
60 | (3) |
|
|
63 | (30) |
|
|
63 | (1) |
|
|
64 | (1) |
|
|
65 | (1) |
|
PCI bridges and multiple PCI buses |
|
|
66 | (2) |
|
|
68 | (25) |
|
|
70 | (2) |
|
|
72 | (4) |
|
|
76 | (1) |
|
|
77 | (4) |
|
|
81 | (2) |
|
Reliance Champion 2.0 LE chipset |
|
|
83 | (2) |
|
Reliance Champion 2.0 HE chipset |
|
|
85 | (3) |
|
ServerWorks ServerSet III LE chipset |
|
|
88 | (2) |
|
|
90 | (3) |
|
|
93 | (26) |
|
|
93 | (2) |
|
Specifying memory performance |
|
|
95 | (1) |
|
|
95 | (2) |
|
|
96 | (1) |
|
Extended data out (EDO) memory |
|
|
97 | (1) |
|
|
97 | (1) |
|
Synchronous Dynamic Random Access Memory (SDRAM) |
|
|
98 | (3) |
|
Registered and unregistered DIMMs |
|
|
98 | (1) |
|
|
99 | (1) |
|
|
99 | (1) |
|
Double Data Rate memory (DDR) |
|
|
100 | (1) |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
101 | (5) |
|
Netfinity 8500R performance |
|
|
104 | (1) |
|
Netfinity 7000 M 10 performance |
|
|
105 | (1) |
|
Addressing memory above 4 GB |
|
|
106 | (9) |
|
|
107 | (1) |
|
Physical Address Extension (PAE) |
|
|
108 | (1) |
|
Page Size Extension (PSE) |
|
|
109 | (2) |
|
Address Windowing Extensions (AWE) |
|
|
111 | (4) |
|
Advanced ECC memory (Chipkill) |
|
|
115 | (2) |
|
|
117 | (2) |
|
|
119 | (60) |
|
|
120 | (4) |
|
|
120 | (1) |
|
|
120 | (1) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
SCSI controllers and devices |
|
|
122 | (2) |
|
|
124 | (1) |
|
Disk array controller architecture |
|
|
124 | (1) |
|
Disk array controller operation |
|
|
125 | (2) |
|
|
127 | (9) |
|
|
128 | (1) |
|
|
129 | (1) |
|
|
130 | (1) |
|
|
131 | (1) |
|
|
132 | (2) |
|
|
134 | (2) |
|
ServeRAID RAID-5 algorithms |
|
|
136 | (4) |
|
Read/modify write algorithm |
|
|
137 | (1) |
|
|
138 | (1) |
|
Sequential write commands |
|
|
139 | (1) |
|
Factors affecting disk array controller performance |
|
|
140 | (19) |
|
|
140 | (1) |
|
|
141 | (2) |
|
|
143 | (2) |
|
Logical drive configuration |
|
|
145 | (1) |
|
|
146 | (4) |
|
SCSI bus organization and speed |
|
|
150 | (3) |
|
Disk cache write-back versus write-through |
|
|
153 | (2) |
|
|
155 | (1) |
|
|
156 | (2) |
|
|
158 | (1) |
|
|
159 | (17) |
|
Fibre Channel performance issues |
|
|
163 | (8) |
|
Tuning with Netfinity FAStT Storage Manager |
|
|
171 | (5) |
|
Disk subsystem rules of thumb |
|
|
176 | (3) |
|
|
179 | (12) |
|
|
179 | (2) |
|
|
181 | (1) |
|
|
182 | (2) |
|
|
184 | (1) |
|
|
185 | (1) |
|
Adaptive load balancing (ALB) |
|
|
185 | (1) |
|
|
186 | (1) |
|
Gigabit EtherChannel (GEC) |
|
|
186 | (1) |
|
Data transmission unit size tuning |
|
|
186 | (2) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
187 | (1) |
|
|
188 | (3) |
|
|
191 | (24) |
|
|
191 | (2) |
|
|
193 | (16) |
|
Application performance boost |
|
|
193 | (3) |
|
|
196 | (3) |
|
Optimizing for Windows paging |
|
|
199 | (2) |
|
Specifying the server type |
|
|
201 | (2) |
|
Disabling unnecessary services |
|
|
203 | (3) |
|
Remove unnecessary networking protocols and services |
|
|
206 | (1) |
|
Optimize the protocol binding order |
|
|
207 | (1) |
|
|
208 | (1) |
|
Install the latest device drivers |
|
|
209 | (1) |
|
|
209 | (1) |
|
|
209 | (6) |
|
Disabling short name generation |
|
|
210 | (1) |
|
CPU intensive applications |
|
|
211 | (1) |
|
|
211 | (2) |
|
Tuning domain controllers |
|
|
213 | (2) |
Part 2. Monitoring tools |
|
215 | (84) |
|
Performance monitoring tools |
|
|
217 | (4) |
|
|
218 | (3) |
|
Using Performance Monitor |
|
|
218 | (1) |
|
|
219 | (2) |
|
Windows 2000 Performance console |
|
|
221 | (36) |
|
|
223 | (4) |
|
|
224 | (1) |
|
Performance Logs and Alerts |
|
|
225 | (1) |
|
Objects, counters and instances |
|
|
226 | (1) |
|
|
227 | (5) |
|
|
230 | (2) |
|
|
232 | (1) |
|
Saving object and counter settings |
|
|
232 | (1) |
|
Highlighting an object counter |
|
|
232 | (1) |
|
Performance Logs and Alerts |
|
|
232 | (25) |
|
|
233 | (7) |
|
|
240 | (4) |
|
|
244 | (4) |
|
|
248 | (2) |
|
Customizing the Performance console |
|
|
250 | (2) |
|
Using the Performance console with other tools |
|
|
252 | (2) |
|
Missing performance objects |
|
|
254 | (1) |
|
Resource Kit tools for performance |
|
|
255 | (2) |
|
|
257 | (34) |
|
|
258 | (1) |
|
Capacity Manager data files |
|
|
258 | (1) |
|
Installing Capacity Manager |
|
|
259 | (2) |
|
|
261 | (1) |
|
|
262 | (10) |
|
Creating a new report definition |
|
|
263 | (6) |
|
Working with predefined reports |
|
|
269 | (1) |
|
|
270 | (2) |
|
|
272 | (10) |
|
|
274 | (2) |
|
|
276 | (2) |
|
|
278 | (1) |
|
|
278 | (4) |
|
|
282 | (9) |
|
|
283 | (2) |
|
|
285 | (1) |
|
Setting critical and warning threshold values |
|
|
286 | (2) |
|
|
288 | (3) |
|
|
291 | (8) |
|
|
291 | (1) |
|
|
291 | (4) |
|
|
295 | (4) |
Part 3. Working with bottlenecks |
|
299 | (74) |
|
|
301 | (10) |
|
|
301 | (1) |
|
Step 2: Analyzing the server's performance |
|
|
302 | (6) |
|
|
304 | (1) |
|
|
305 | (1) |
|
|
306 | (1) |
|
|
307 | (1) |
|
Step 3: How can it be fixed? |
|
|
308 | (2) |
|
|
310 | (1) |
|
|
311 | (42) |
|
|
311 | (1) |
|
Factors affecting server performance |
|
|
312 | (2) |
|
Application considerations |
|
|
313 | (1) |
|
|
314 | (1) |
|
Measuring current performance |
|
|
314 | (1) |
|
|
315 | (5) |
|
|
315 | (2) |
|
Performance tuning options |
|
|
317 | (3) |
|
|
320 | (5) |
|
|
320 | (1) |
|
|
321 | (1) |
|
|
322 | (1) |
|
Finding memory bottlenecks |
|
|
322 | (2) |
|
Performance tuning options |
|
|
324 | (1) |
|
|
325 | (5) |
|
|
326 | (2) |
|
Performance tuning options |
|
|
328 | (2) |
|
|
330 | (12) |
|
Finding network bottlenecks |
|
|
330 | (4) |
|
Performance tuning options |
|
|
334 | (7) |
|
Monitoring network protocols |
|
|
341 | (1) |
|
Anticipating future bottlenecks |
|
|
342 | (4) |
|
Detecting future bottlenecks |
|
|
342 | (1) |
|
|
343 | (3) |
|
Performance summary and configuration tips |
|
|
346 | (5) |
|
|
346 | (1) |
|
Disk subsystem rules of thumb |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
McKnight's rule of server behavior |
|
|
347 | (4) |
|
|
351 | (2) |
|
|
353 | (20) |
|
|
353 | (7) |
|
|
354 | (1) |
|
|
354 | (6) |
|
|
360 | (1) |
|
|
360 | (5) |
|
|
360 | (1) |
|
|
361 | (3) |
|
|
364 | (1) |
|
|
365 | (8) |
|
|
365 | (5) |
|
|
370 | (3) |
Part 4. Applications |
|
373 | (182) |
|
|
375 | (10) |
|
The effect of server hardware on performance |
|
|
375 | (3) |
|
Optimizing operating system performance |
|
|
378 | (4) |
|
Application responsiveness |
|
|
378 | (1) |
|
|
379 | (2) |
|
|
381 | (1) |
|
|
382 | (3) |
|
|
385 | (56) |
|
|
385 | (1) |
|
Sizing and optimizing the hardware |
|
|
386 | (2) |
|
|
386 | (1) |
|
|
387 | (1) |
|
|
387 | (1) |
|
Optimizing operating system performance |
|
|
388 | (5) |
|
Application responsiveness |
|
|
388 | (2) |
|
|
390 | (2) |
|
NTFS allocation unit and stripe size considerations |
|
|
392 | (1) |
|
Optimizing Lotus Domino performance |
|
|
393 | (43) |
|
Changing statements in the notes. ini file |
|
|
393 | (1) |
|
|
394 | (2) |
|
Optimizing database performance |
|
|
396 | (10) |
|
Improving mail performance |
|
|
406 | (8) |
|
Calendaring and scheduling resource usage |
|
|
414 | (2) |
|
Minimizing logging activity |
|
|
416 | (1) |
|
Improving Agent Manager performance |
|
|
417 | (3) |
|
|
420 | (2) |
|
|
422 | (1) |
|
Improving replication performance |
|
|
423 | (1) |
|
Enabling of transaction logging |
|
|
424 | (1) |
|
Improving Web server performance |
|
|
425 | (8) |
|
|
433 | (1) |
|
Lotus Domino partitioning |
|
|
434 | (1) |
|
Balancing workload in a Lotus Domino cluster |
|
|
434 | (2) |
|
Maintaining Lotus Domino servers |
|
|
436 | (1) |
|
Planning for future growth |
|
|
437 | (1) |
|
Top 10 ways to improve your server's performance |
|
|
437 | (2) |
|
|
439 | (2) |
|
Microsoft Exchange Server |
|
|
441 | (24) |
|
|
441 | (6) |
|
|
442 | (1) |
|
|
442 | (2) |
|
|
444 | (1) |
|
|
445 | (2) |
|
|
447 | (1) |
|
Other server performance factors |
|
|
447 | (1) |
|
Exchange Server performance settings |
|
|
448 | (6) |
|
Using the Performance console |
|
|
454 | (7) |
|
|
455 | (1) |
|
|
455 | (1) |
|
Exchange Server performance monitoring |
|
|
456 | (5) |
|
Capacity management using LoadSim |
|
|
461 | (4) |
|
Generating scores using LsLog |
|
|
462 | (1) |
|
Performance tools and LoadSim |
|
|
462 | (1) |
|
|
463 | (2) |
|
|
465 | (24) |
|
SAP R/3 application servers |
|
|
466 | (1) |
|
|
467 | (1) |
|
Optimizing Windows NT and Windows 2000 performance |
|
|
468 | (5) |
|
Application responsiveness |
|
|
468 | (1) |
|
|
469 | (2) |
|
|
471 | (2) |
|
Disable unnecessary Windows NT or Windows 2000 services |
|
|
473 | (1) |
|
SAP R/3 monitoring and tuning |
|
|
473 | (13) |
|
Tuning SAP R/3 performance |
|
|
480 | (3) |
|
Tuning Microsoft SQL Server 7.0 for SAP R/3 performance |
|
|
483 | (3) |
|
Hardware tuning and configuration tips |
|
|
486 | (1) |
|
|
487 | (1) |
|
Disk array controller optimization |
|
|
487 | (1) |
|
|
487 | (2) |
|
|
489 | (30) |
|
What's new in Microsoft SQL Server 7.0 |
|
|
490 | (1) |
|
SQL Server performance tuning basics |
|
|
491 | (1) |
|
|
492 | (1) |
|
Optimizing Windows NT and Windows 2000 |
|
|
493 | (5) |
|
Application responsiveness |
|
|
493 | (2) |
|
|
495 | (1) |
|
|
496 | (2) |
|
|
498 | (1) |
|
Optimizing SQL Server subsystems |
|
|
499 | (8) |
|
|
499 | (1) |
|
|
500 | (1) |
|
|
500 | (1) |
|
|
501 | (2) |
|
|
503 | (1) |
|
|
504 | (1) |
|
Separating data and selecting RAID levels |
|
|
505 | (2) |
|
|
507 | (8) |
|
|
508 | (1) |
|
|
509 | (1) |
|
|
509 | (1) |
|
Automatic covering indexes or covered queries |
|
|
510 | (1) |
|
|
510 | (1) |
|
Clustered index selection |
|
|
511 | (2) |
|
Importance of FILLFACTOR and PAD_INDEX |
|
|
513 | (2) |
|
SQL Server 7.0 performance objects |
|
|
515 | (4) |
|
|
519 | (24) |
|
|
521 | (4) |
|
|
522 | (1) |
|
|
523 | (1) |
|
|
524 | (1) |
|
|
525 | (2) |
|
Online transaction processing |
|
|
525 | (1) |
|
Online analytical processing |
|
|
526 | (1) |
|
|
527 | (1) |
|
Operating system optimization |
|
|
527 | (3) |
|
Oracle memory optimization |
|
|
530 | (8) |
|
|
531 | (1) |
|
|
532 | (2) |
|
|
534 | (1) |
|
Oracle disk I/O optimization |
|
|
535 | (3) |
|
Monitoring database performance |
|
|
538 | (2) |
|
Performance Monitor counters |
|
|
540 | (2) |
|
|
542 | (1) |
|
Windows 2000 Terminal Services |
|
|
543 | (12) |
|
|
543 | (3) |
|
|
543 | (1) |
|
|
544 | (1) |
|
|
545 | (1) |
|
|
546 | (6) |
|
|
546 | (1) |
|
|
546 | (1) |
|
|
547 | (1) |
|
Performance boost options |
|
|
548 | (4) |
|
|
552 | (3) |
|
|
554 | (1) |
Part 5. Appendixes |
|
555 | (14) |
|
Appendix A. Special notices |
|
|
557 | (4) |
|
Appendix B. Related publications |
|
|
561 | (6) |
|
|
561 | (1) |
|
B.2 IBM Redbooks collections |
|
|
561 | (1) |
|
B.3 Referenced Web sites and online documents |
|
|
562 | (5) |
|
|
567 | (2) |
|
IBM Redbooks fax order form |
|
|
568 | (1) |
Abbreviations and acronyms |
|
569 | (4) |
Index |
|
573 | (20) |
IBM Redbooks review |
|
593 | |