Earlier this week I’ve attended RMOUG Training Days 2008 and one of the sessions was of particular interest. Mogens initiated very heated discussion about performance tuning methods that are currently in use and how inappropriate they all are because they still leave some chance for guesswork. No doubts that performance optimization has involved significantly in the recent years but there is still place for a lot of improvements. Thanks Mogens — you are invaluable BAAG supporter!

Daniel Fink was one of the presenters during that session and has done an interesting follow up. You probably know that couple month ago Dan expressed controversial idea that Oracle “wait interface is nearly useless”. My interpretation is that while wait interface removed a great deal of guesswork from performance troubleshooting, there is still a lot of times when analysts tend to rely on guesswork or don’t have other ways to go forward except educational guessing.

Now back to Dan’s most recent post — How useful are diagnostic/optimization tools?. I can’t agree more about incompleteness of performance tuning tools but can they ever be complete?

If you think about our life you would probably agree that every situation is unique. I don’t remember what philosopher said that “it’s not possible to enter a river twice in the same place”. Indeed, the current never stops and the river is never the same. No difference with Oracle and IT in general — there are no two exactly the same problems. Two situations could be similar if some differences considered to be unimportant but how do you know which differences are important and which not?

Imagine that many years ago you had several cases of latch contention that was caused by excessive parsing. You create a tool that provides suggestion to look into reducing parsing every time you have latch contention. We know now — this is obviously wrong, but in your experience at that time — it’s been always excessive parsing causing library cache latch contention. Finally, another situation showed that latch contention can be caused by hot blocks — cache buffers chains latch. It becomes clear that there are some differences that were not accounted for (i.e. unknown or claimed unimportant). That’s OK. Right? We are going to improve our tool and distinguish latches. That will work until other situations come up when contention for the same latch has a new distinctive reasons. Another time, it would be platform specific issue and so on and so forth.

As soon as we encounter new situation and new important criteria — we can improve our tool but it can’t be perfect and absolutely complete. Should we give up? Of course, no. Striving for perfection is the only way we can keep up and keep pushing the limits. Thanks god there are such people as Dan and Moans that push the limits.

PS: It’s been a while here without new activity. I remind to everyone that if they have something to say here — please do (just let me know and I set up your account for posting). Thanks to Simon and Niall for their support.

Find more about  , ,

One Response to “Can a Performance Tuning Tool be Complete?”  

  1. 1 Doug Burns

    Nice post, Alex. I was going to comment here or on Dan’s blog, but it grew a bit long 😉


Leave a Reply