• Save
Optimizing Drupal Performance (English)
Upcoming SlideShare
Loading in...5

Optimizing Drupal Performance (English)



These are slides for my talk at second meetup of Drupal Trojmiasto Group

These are slides for my talk at second meetup of Drupal Trojmiasto Group



Total Views
Views on SlideShare
Embed Views



2 Embeds 73

http://localhost 70
http://getpocket.com 3



Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Optimizing Drupal Performance (English) Optimizing Drupal Performance (English) Presentation Transcript

  • Optimizing Drupal Performance Basic practices by Tim Kamanin @timonweb timonweb.com mailto:timur@kamanin.com Drupal Trójmiasto 3drupal.pl
  • Reasons why most Drupalsites are slow:- full page renders- serving dynamic content toanonymous users- slow mysql queries- module bloat
  • Typical Drupal Stack CSS / JavaScript Media Drupal Apache MySQL PHP Linux
  • Drupal Performance Checklist
  • 1. Limit number of your modules
  • 2. Always check whatinstalled modules are doing behind the scenes
  • 3. Architect the system and write modules withperformance in mind
  • 4. Split code invoked viaurls into separate files: module_name.admin.inc, module_name.page.inc, etc
  • 5. use drupal_static(),provides central staticvariable storage, docs: http://bit.ly/QD86rP
  • 6. Install fast_404
  • 7. Export views and Panels to code
  • 8. Enable css /javascript aggregation
  • 9. Let aggregate cacheto take care of css/js aggregation
  • 10. Enable page and page compression (mod_deflate)
  • 11. Install Boost tomake anonymous caching 10 x times faster!
  • 12. Enable views and block caching for authorized users
  • 13. Store cache in memory. Installmemcached or redis
  • 14. Cache PHP with APC
  • 15. Tune MySQL: - find slow queries - use indexes - use EXPLAIN on queries - tune my.cnf- get decent query cache and key buffer
  • 16. Tune Apache: StartServersMinSpareServers MaxSpareServers MaxClients KeepAlive
  • 17. Remember about mod_expiresExpiresActive onExpiresByType image/jpg "access plus 1 month"ExpiresByType image/jpeg "access plus 1 month"ExpiresByType image/gif "access plus 1 month"ExpiresByType image/png "access plus 1 month"ExpiresByType text/css "access plus 1 months"ExpiresByType application/javascript "access plus 1 months"
  • 18. Separate Media and Code: - Move media to CDN - Move media to separate server
  • 19. Move search from Database to Solr search_api + Solr
  • What else can be done?
  • varnish, squid, loadbalancing, memcached, fieldsin mongdo, css sprites, Etag, ESI, separate database server, optimize media, preload, postload, external js, nginx, Lighttpd, amazon cloud, SSD
  • Comments,questions? @timonweb timonweb.commailto:timur@kamanin.com