Drupal Modules Can Improve Site Performance

Drupal has modules for just about everything, including improving site performance. You can use these modules to see what's going on with a site and figure out the changes needed to increase Drupal's speed. As part of an ongoing series about ways to improve Drupal website performance, let’s take a closer look at the modules that can make your life a lot easier.

Find the Bottlenecks: Devel

Before trying to improve a Drupal site's performance, it's important to know where the bottlenecks are in order to avoid making random changes. The Devel module provides sharp insight by showing information such as how many queries ran to build a page, how long execution took, and how much memory was used. This information is especially helpful for assessing the impact of changes such as installing and disabling modules. Even if you don't understand all the detailed information the Devel module provides, seeing trends in the numbers will, over time, be useful.

Improve Caching: Entity Cache, Views Content Cache, Panels Hash Cache, and Panels Content Cache

Changing Drupal caching behavior can have a big impact on performance. When applications have a large amount of entity data (information on things like users and content), using Entity Cache can lead to large performance gains with almost no configuration. It's less useful if there's only a small amount of entity data.

To control other cache settings, Block Cache Alter lets settings for each block be configured individually. This allows for more fine-grained control than the settings on the Performance page.

Another change that can improve performance is using a cache based on content-driven expiration, rather than discarding cached data after a specified amount of time passes. The Views Content Cache, Panels Hash Cache, and Panels Content Cache modules provide this functionality.

Improve Database Usage: Views Litepager and Memcached

For sites that use the recommended InnoDB MySQL storage engine, Views Litepager speeds up the creation of pages for views. Rather than creating links to every single page, it provides just “next” and “previous” links. It's incredibly simple and beneficial. The drawback is that site visitors can move only one page at a time through a long list.

Another great addition is Memcache, which lets you integrate Drupal with Memcached, a free and open source, high-performance, distributed memory object caching system that is available on Acquia Cloud. The combination lets Drupal use the database only for large, heavy content, and caches other information elsewhere. To get the best performance from Drupal, it's really important to move as much work – caching and logging – off the database so it can focus on providing the content.

Standard Tools for Performance

There's so much benefit from some of these modules that they're practically standard at many companies, including here at Acquia. Almost everyone uses Devel. Acquia uses Memcache in its cloud platform.

But every organization is different, so find the tools and configuration settings that work for your needs and make them standard across all your development projects. That'll free up time for developing instead of tuning performance.