FreelancePHP

The thoughts, opinions and sometimes the rants of Mark Evans

Investigating Drupal 7 Performance

| Comments

I’ve recently being doing some work looking into some performance issues when running a site using Drupal 7. I’ve not really spent much time using Drupal for quite a few months and barely even looking at Drupal 7 until now as most of my other sites were all based on Drupal 6.

Before I could narrow down the problem I first hand to get myself some data, after testing out a few different modules and doing some Googling I settled on using the Performance Logging and Monitoring module from drupal.org

This module has no dependencies so was a simple case of downloading to the correct location and then enabling it using the Modules page.

drupal_performance_logging_config

I’ve added the following paths to the exclude list so that they don’t interfere with my testing

admin/config/* admin/reports/performance-logging/*

I also made sure to turn off any caching for anonymous users as well as any other block caching so I could get real performance information without caching getting in the way.

I decided that in the first instance I was interested in the performance for anonymous users (without any caching) so using a different browser I clicked around a few pages to get some data

The summary page then gave me the following details

drupal_performance_summary

This tells me that on average it takes 13 seconds to build the homepage of the website, this seems incredibly slow to me and gives me somewhere to start to look at investigating, but the summary page only gives me an overview of all the requests grouped per URL so it would be good to find out how each individual request contributed to that average. This is where the detail page comes in as you can see below

drupal_performance_detail

I can now see for each individual request just how much resource was used and how long the page took to generate, using this I can then narrow down my focus to individual pages and even individual blocks on those pages.

As I dig deeper I will write some more detail on debugging where the slowness is coming from and what I did to resolve them. If anyone has any tips or tricks they have used to improve performance or used to isolate performance issues I’d love to hear them.

Comments