I have implemented caching across the entire site using pear but I still want to make sure when the DB is being used it is as efficient as possible.
Has anyone got any personal recommendations for performing such profiling? As always money is tight here so an open source application would be ideal to test on my home Dev server before I release her into the wild.
One thing you can do is use MySQL's EXPLAIN to help optimize queries. In fact, you might spend a little time poking around the enitre Optimization chapter while you're there (in particular section 7.2).
"Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
~ Terry Pratchett in Nation