Sep 13, 2007

Customer says, "It's slow for us"- Monitoring Database Health

Sometimes we get complains from customers about the application performance. Yesterday I got an AFID saying that during peak hours - application seems a bit slower but still quite reasonable. As she is a good customer, she did not forget to send an AFID.

Well, I have investigated it. Firstly, I took the db load statistics and generated graphs of three consecutive working days to see the load average on database. These days graphs are almost similar. Then I went back one month earlier and then one more month earlier to see the previous load graphs. It seems that in 2 months, db load increased about 10% - not stunning as the average db load is still around 1 during peak hours.


Secondly, I took Statspack reports to see the overall database health. The report seemed that we have a fantastic instance efficiency.

Instance Efficiency Percentages (Target 100%)

Buffer Nowait %: 100.00Redo NoWait %: 100.00
Buffer Hit %: 99.64In-memory Sort %: 100.00
Library Hit %: 98.94Soft Parse %: 99.01
Execute to Parse %: 80.40Latch Hit %: 99.99
Parse CPU to Parse Elapsd %: 100.05% Non-Parse CPU: 98.50


Impressive! Nothing to do with instance tuning right at this moment. The small hard parse thing is well known to us and is unavoidable from development perspective. In load profile, Redo size and Logical reads were noticeable.

Load Profile


Per SecondPer Transaction
Redo size: 38,515.67 3,663.59
Logical reads: 26,862.97 2,555.19


We have huge updates and inserts in the database. Concurrent 400 + users doing a lot of stuffs with the applications- oracle is generating big amount of redo. When we will integrate some caching solutions in memory for very frequently updated tables, we will get rid of it.

But Logical reads is alarming. We have an option here to reduce logical reads. We have plan to use larger database block size (currently using the default 8K) in near future. It reduce logical reads and thus elapsed time ensuring good db health.

I was also looking for some performance related article and got one very interesting - Oracle Myths

http://www.dba-oracle.com/t_oracle_myths_performance_testing.htm

No comments: