Oracle Performance – Average Active Sessions High Threshold

awroracleperformanceperformance-tuning

I am trying make sense of the DB load from the AWR report for a period handed over to me by DBA. Researching a bit, I see the "Average active sessions" is a metric widely used to measure DB load. It is calculated using (Total DB time/Total wall clock elapsed time). From the AWR, in my case it came a little over 7. Does this number indicate high DB activity? Or do I need to take into account anything else?

Best Answer

To know whether 7 is high or low, you'd need to know something about the database server.

If, for example, you have a single CPU with 4 cores, 7 sessions would mean that, at any given time, 3 of your 7 threads were probably waiting to get scheduled for the CPU since your machine is only capable of running 4 sessions at any instant in time. That would imply that your server was under a pretty decent load. If, on the other hand, you have 4 CPUs each with 8 cores, then only 7 of your 32 cores were, on average, busy at any instant in time leaving 25 of your 32 cores free. That would imply that your server itself wasn't particularly heavily taxed.

You'd also want to know a bit about the application. A 15 minute spike where the average number of active sessions went up to 7 that was preceded and followed by a lower number would generally be less concerning than a report of a 24 hour period where the average number of active sessions was 7 because it's likely that there is a lot more variation over the 24 hour period (i.e. sometimes the number of active sessions was much higher than 7). Application history also comes in to play. If the application has always seen the average number of active sessions top out at 3 or 4 under peak load and it suddenly starts spiking to 7, that's more of a concern than if the application has always had those performance characteristics.