I recently used http://www.xdebug.org/ xdebug 2.0 beta 6 along with kcachegrind to debug a performance issue I was having with Drupal And it helped make it clear where the problem was. Possibly this profiling tool would be useful while benchmarking. 1) pecl install xdebug-beta 2) edit php.ini extension=xdebug.so (might need to be zend_extension but seemed to work as is) xdebug.profiler_enable_trigger=1 3) add XDEBUG_PROFILE to URL e.g. .../node/add?XDEBUG_PROFILE 4) use kcachegrind to open trace file in /tmp I will write up my discoveries as soon as I get a chance although most of them are specific to sites with very large menus and the category module. George Kappel
From: Dries Buytaert [mailto:dries.buytaert@gmail.com]
recently I did some performance analysis of Drupal and compared it to Joomla.
Unfortunately, Drupal is quite slow when it comes to generating non-cached pages. It would be great if we could focus some more on the performance of non-cached pages. Why? Because in practice, it is often a _lot_ more important than the performance of cached pages.
Do we have any clear ideas about where the bottlenecks lie? Database access? Processing time for rendering complex structural pages and forms? We have handbook pages for writing secure module code. It might be a good idea to provide solid (benchmarked) performance tips to module developers as well. What particular Drupal calls are expensive? What uses of common drupal APIs cause more thrashing than others? Etc...
--Jeff