Oracle Performance Firefighting
by Craig Shallahamer

Get the book here



Craig Shallahamer's Blog

You were brought to this page based on an internet search and as a free service to Oracle DBAs.

The text below is an except from the book, Oracle Performance Firefighting, written by Craig Shallahamer of OraPub, Inc. Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click here.


©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out of respect for those involved in the creation of the book and also for their familes, we ask you to respect the copyright both in intent and deed. Thank you.

-------------------------------

It is important to understand the service time and arrival rate are independent and also have a direct and linear relationship with utilization. Theoretically, when the arrival rate increases, service time does not increase. What may increase, if the workload increases enough, is the queue time. More practically, if it takes 10 ms to process one user call when the system is lightly loaded, then it will continue to take 10 ms to process one user call when the system is heavily loaded. This is why response-time curves are more or less flat until queuing sets in. Remember that the users do not experience only service time, but the combination of service and queue time.

As the utilization formula shows and as you might expect, if the arrival rate doubles, the utilization will also double. In fact, as Figure 9-7 demonstrates, their relationship is not only linear in theory and in CPU-intensive Oracle systems, it is linear in practice. This is also true with the service time. For example, if we work on tuning SQL statements and get a 50% CPU consumption decrease, and nothing else changes, we can expect the utilization to also decrease by 50%. Now suppose the CPUs were replaced, and the new CPUs can process an Oracle workload twice as fast. In this case, and if nothing else changes, we would expect the utilization to also drop by 50%. For precise forecasts, this formula will be slightly adjusted. But when anticipating and evaluating alternative performance solutions, this works beautifully.

We do not gather service time directly, but instead derive it from existing data. It turns out that nearly always (and fortunately for us), we have parameters for all but the service time. As an example, let's use the data contained in Figures 9-2 and 9-6. Figure 9-2 shows that during the Statspack interval, on average, 414.9 user calls were processed each second. This will be our arrival rate: 414.9 uc/s. Based on Figure 9-6, we know the number of CPU cores is two and as calculated in the operating system CPU utilization at 100%. Solving the utilization formula for the service time, plugging in the numbers, and converting time to milliseconds, we have the following calculation:

©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out of respect for those involved in the creation of the book and also for their familes, we ask you to respect the copyright both in intent and deed. Thank you.


Know what's important before it's too late!

OraPub's
Performance Training

is like no other...





More Class Pics...
Get student testimonials!