Drupal site is slow
9 Replies
You should also check out
I do have a lot of modules, at least 130. I will check out the
Make sure that APC is working correctly using the apc.php page. If, for example, your APC cache is too small, then the system is constantly flushing from the cache and inserting new code, so it's even worse than if there was no opcode cache at all. Check for cache full/cache flush/fragmentation.
Install the devel module. Enable the page timer and query info. That will show page execution time and mysql query time on the bottom of each page. Navigate around to see if it's only certain pages with certain blocks that are slow. Maybe it'll be obvious that the problem only exists on certain pages that contain a specific block or query.
If the delay is mostly in mysql time then enable the query log and check out which queries are running long. Trace them back to particular views or modules based on the query. It's happened before that a less popular module works fine for smaller sites but horribly on larger sites because of the way queries are written. Or you made a view that is unnecessarily complex. Or you have a very complex view that doesn't change more than once a day so you can enable views caching on it.
If the delay is mostly in page execution time and the mysql time is only a small part of it, then you may need to do profiling. That involves installing either xdebug and webgrind or my preference is the XHprof extension with the sample web interface. Devel has XHprof support built in. If you're on Ubuntu you can use my ppa to add the XHprof extension through apt. See
Then start sorting function calls looking for the ones taking up most of the time and tracing them back to a specific module.
Since this is a linode board, I assume you're on a linode so having a crappy host shouldn't be the problem.
You can let the module crawl the pages so they're cached before someone visits them.