Skip to content

56 best practices for Drupal performance

I can across this article which I thought was a very good collection of tips to improve drupal performance. If you are a beginner you would be doing some of these, but I am sure you will learn a lot from this.

I. Basic Setup and Configuration (16 tips)
Correctly configure Block Visibility settings
Disable ‘Rebuild theme registry on every page’
Disable the statistics module
Enable core caching features
Enable native module caches (e.g. Views, Panels, Feeds)
Install ImageCache to generate thumbnails
Increase minimum cache lifetime on high traffic sites
Install Pressflow Drupal
Install the Block Cache Alter module
Install the CSS Gzip module
Install the DB Maintenance module
Install the Global Redirect module
Install the Javascript Aggregator module
Install the Update Status Advanced Settings module
Replace core cron with Elysia Cron
Uninstall unnecessary Drupal modules
II. Advanced Drupal Performance Practices (21 tips)
Avoid calls to node_load() where possible, use fields
Avoid calls to taxonomy_get_tree()
Avoid calls to third party web 2.0 services
Avoid calls to variable_set() on page loads
Avoid CSS expressions
Avoid using shared CCK fields
Avoid using slow (node access) modules
Avoid using the PHP input filter
Disable developer modules
Disable sessions completely for anonymous users
Disable the database logging module
Enable .htaccess ExpiresByType directives
Implement fast 404s for static files
Improve theme performance with CSS sprites
Install the Cache Expiration module (experimental)
Install the Boost module (on shared hosts)
Install the Job Queue and Queue Mail modules
Move all JavaScript to the page footer
Move third party libraries outside the modules folder
Simplify your Drupal theme
Use the Devel module to analyze performance
III. Drupal Server and Database Configuration (13 tips)
Cache Drupal with Memcached
Configure Alternate PHP Cache (APC) for Drupal
Convert MySQL tables to UTF8 InnoDB
Correctly Set Apache’s MaxClients directive
Disable unneeded Apache modules
Enable Apache mod_deflate
Enable MySQL query caching
Fix slow Views queries by adding indexes
Handle users and their sessions via Memcached
Install ImageMagick to replace PHP’s GD image library
Move Drupal’s .htaccess rules to vhost.conf
Run the MySQL tuning primer to optimize my.cnf
Turn Apache KeepAlive On
IV. Drupal High Performance (6 tips)
Install Varnish HTTP Accelerator integration
Get Pantheon / Drupal Mercury
Replace core search with Apache Solr
Run Drupal 6 on Solid State Disks
Run Drupal on Zend Server with Page Cache
Use a Content Delivery Network (CDN)