Foreword | p. xi |
Preface | p. xiii |
Method | |
A Better Way to Optimize | p. 3 |
"You're Doing It Wrong" | p. 5 |
Requirements of a Good Method | p. 6 |
Three Important Advances | p. 8 |
Tools for Analyzing Response Time | p. 12 |
Method R | p. 19 |
Targeting the Right User Actions | p. 33 |
Specification Reliability | p. 33 |
Making a Good Specification | p. 38 |
Specification Over-Constraint | p. 43 |
Targeting the Right Diagnostic Data | p. 45 |
Expectations About Data Collection | p. 45 |
Data Scope | p. 48 |
Oracle Diagnostic Data Sources | p. 55 |
For More Information | p. 57 |
Targeting the Right Improvement Activity | p. 58 |
A New Standard of Customer Care | p. 58 |
How to Find the Economically Optimal Performance Improvement Activity | p. 59 |
Making Sense of Your Diagnostic Data | p. 60 |
Forecasting Project Net Payoff | p. 62 |
Reference | |
Interpreting Extended SQL Trace Data | p. 73 |
Trace File Walk-Through | p. 73 |
Extended SQL Trace Data Reference | p. 76 |
Response Time Accounting | p. 86 |
Evolution of the Response Time Model | p. 94 |
Walking the Clock | p. 98 |
Forward Attribution | p. 102 |
Detailed Trace File Walk-Through | p. 104 |
Exercises | p. 106 |
Collecting Extended SQL Trace Data | p. 109 |
Understanding Your Application | p. 109 |
Activating Extended SQL Trace | p. 112 |
Finding Your Trace File(s) | p. 119 |
Eliminating Collection Error | p. 126 |
Exercises | p. 140 |
Oracle Kernel Timings | p. 141 |
Operating System Process Management | p. 141 |
Oracle Kernel Timings | p. 144 |
How Software Measures Itself | p. 145 |
Unaccounted-for Time | p. 149 |
Measurement Intrusion Effect | p. 150 |
CPU Consumption Double-Counting | p. 153 |
Quantization Error | p. 155 |
Time Spent Not Executing | p. 170 |
Un-Instrumented Oracle Kernel Code | p. 173 |
Exercises | p. 175 |
Oracle Fixed View Data | p. 177 |
Deficiencies of Fixed View Data | p. 178 |
Fixed View Reference | p. 187 |
Useful Fixed View Queries | p. 194 |
The Oracle "Wait Interface" | p. 217 |
Exercises | p. 218 |
Queueing Theory for the Oracle Practitioner | p. 220 |
Performance Models | p. 221 |
Queueing | p. 222 |
Queueing Theory | p. 225 |
The M/M/m Queueing Model | p. 243 |
Perspective | p. 279 |
Exercises | p. 280 |
Deployment | |
Working the Resource Profile | p. 285 |
How to Work a Resource Profile | p. 286 |
How to Forecast Improvement | p. 300 |
How to Tell When Your Work Is Done | p. 302 |
Responding to the Diagnosis | p. 305 |
Beyond the Resource Profile | p. 306 |
Response Time Components | p. 307 |
Eliminating Wasteful Work | p. 316 |
Attributes of a Scalable Application | p. 324 |
Case Studies | p. 326 |
Misled by System-Wide Data | p. 327 |
Large CPU Service Duration | p. 333 |
Large SQL *Net Event Duration | p. 337 |
Large Read Event Duration | p. 344 |
Conclusion | p. 351 |
Appendixes | |
Glossary | p. 355 |
Greek Alphabet | p. 363 |
Optimizing Your Database Buffer Cache Hit Ratio | p. 365 |
M/M/m Queueing Theory Formulas | p. 372 |
References | p. 374 |
Index | p. 381 |
Table of Contents provided by Ingram. All Rights Reserved. |