Most advice to improve Drupal site performance is aimed at developers and DevOps folks. In reality, many Drupal sites are built by site builders using flexible Drupal modules rather than custom code.
In this blog series, we will give site builders the knowledge and tools to enhance the performance of their web sites, without ever touching PHP or the command line.
The Drupal community is already rich in modules and best practices that can significantly improve the performance of any Drupal site. Now it’s time to take advantage of the community’s hard work!
But first, let’s start by disabusing you of some common — and wrong — ideas and advice.
4 Common Drupal Performance Tips (and Why They Are Wrong)
There is a widespread belief among both developers and end-users that Drupal is 'slow'. Dig through Google and you will see countless old web pages talking about Drupal performance issues.
Upon closer scrutiny, however, this belief amounts to nothing more than mere myth. As of today, Drupal is one of the fastest CMSes around. In fact, in a study by YOTTAA, Drupal emerged as the fastest free CMS, outperforming both Joomla and WordPress.
Drupal is an extremely flexible framework, with an abundance of configuration options. With any large framework, flexibility and performance must be balanced. With correct configuration, Drupal can be lightning fast.
Drupal’s potential for speed and reliability are just two reasons why there are over 1.12 million websites using Drupal across the world today.
Yet, thanks to the pervasive Drupal slowness myth, there is a lot of bad performance advice floating around on the Internet. This advice is usually easy to follow, but seldom yields any results. Much of it requires the user to throw extra money at the problem, instead of using Drupal's accepted best practices.
Below, I've listed four such common Drupal performance tips, along with reasons why they are wrong:
1. "If it runs out of memory, increase memory."
This common advice can be found on many Drupal communities - just throw in more memory to get over any performance bottlenecks.
Besides the obvious monetary downsides, this is simply a bad way to deal with performance issues; and as your site grows, you will only need to throw in more and more money. Drupal is engineered to be fast. Poor performance is usually not an indicator of low memory, but poor site configuration. Optimization is about efficiency. Before throwing more memory at the problem, try to comb through site configuration to identify performance bottlenecks.
2. "Don't use context/views/panels or specific modules."
If any performance advice begins with a prohibitive statement -- "don't use X" -- it's likely solving a symptom, not the actual problem. Drupal is designed to work with different contexts, views, and panels. If using them is causing performance issues, the solution isn't to stop using them, but to find the real problem.
3. "You need more servers."
Adding more servers to make a site faster is like adding a Ferrari engine to a Ford Pinto. Sure, you will get extra speed for a while, but in the long-run, your performance will suffer. Try to exhaust all code and non-code based optimization before spending a few hundred dollars -- and often much more -- purchasing extra servers.
4. "Caching will solve all your problems."
I can't overstate the importance of caching enough - it is the single best way to improve site performance. But caching is not a panacea for all your speed issues. There are still a number of additional ways you can improve performance, from evaluating modules to optimizing site configurations.
Drupal is a complex piece of software. Naturally, performance issues will arise. The solution is almost always to dig deep and identify the problem at its very core. Beware of advice online that offers only cosmetic cures.