Drupal Performance Audit
and Optimization
Anoop John, CTO
Vimal Joseph, Technical Architect
Drupal Performance Optimization
Drupal is not slow
Drupal is not slow
The site was just not built for the context
Poorly written backend
Unoptimized front end
Infrastructure not designed for traffic patterns
Drupal Performance Optimization
Aspects of Performance
Page load time
Page render time
Maximum number of simultaneous users on site
Maximum number of logged in users on site
Drupal Performance Optimization
Auditing Performance
Document baseline performance
Identify traffic patterns
Evaluate website build
Identify bottlenecks in the backend
Identify bottlenecks in the frontend
Evaluate hardware platform
Identify limitations at the server level
Evaluate server application configuration
Identify sub-optimal configurations
Drupal Performance Optimization
Factors Affecting Performance
Server configuration - hardware specs
Server applications - apache, database, caching
Drupal backend - how the site has been built,
modules, themes, custom code
Drupal frontend - internal resources, external
resources, content to be loaded / rendered,
complexity of HTML, JS, CSS
Caching layers - varnish, CDN, browser cache
Drupal Performance Optimization
Server Configuration
Shared? VPS? Dedicated?
Processor - speed? cores? dedicated? virtual?
Memory - total memory available? shared? free
memory?
Hard disk - speed of i/o? SSD?
Drupal Performance Optimization
Server Applications
Apache - threading model - MPM, Prefork, CGI, FCGI,
maximum number of requests, number of children,
connection time out, modules
Nginx
MySQL - query caching, indexes, tmp table, open
tables, heap size
PHP - extensions
Drupal Performance Optimization
Drupal Backend
Caching - page caching, views caching, caching in
custom code
Memcache
Modules - number? unused? admin?
Custom code - reviewed?
SQL queries - slow queries? query log?
SQL inserts - too many? logging?
Disk writes - too many?
Synchronous requests?
Drupal Performance Optimization
Drupal Frontend
Loading time
Rendering time
Complexity of HTML
Complexity and size of CSS
Complexity and size of JS
Number and size of static resources
Number of external resources
Synchronous external resources
Drupal Performance Optimization
Caching Layers
Browser cache - enabled? expiry?
Static caching - varnish? boost?
Static resource caching - CDN? subdomains?
Drupal Performance Optimization
Optimizing Performance
Quantify bottlenecks - impact? cost? time?
Classify bottlenecks - critical, high, normal, low
Group solutions
Iterate over groups - implement and test
Document results
Monitor and re-evaluate
Drupal Performance Optimization
Testing Performance
New Relic monitoring
Apache ab testing
Apache JMeter load testing
Drupal Performance Optimization
Performance Tools
Devel
MySQL query logs
EXPLAIN
dpm, watchdog
Profiling and tracing using xdebug
http://webpagetest.org/
Yahoo YSlow, Google Page Speed
Firebug
Drupal Performance Optimization
Common Performance Mistakes
Too many modules
Disabled caching
Cache clears
Debug logs and database logging
Views caching
Page not founds
Unnecessary sessions
PHP errors
Zyxware Technologies and Drupal
Zyxware is a leading contributor to Drupal from India and is one of only
six Featured Service Providers from India listed on drupal.org
● Over 40,000 websites use our modules and themes
● More than 30 contributed modules and themes
● Maintainer of Search404, a top 100 Drupal module
● Over 1000 commits at drupal.org
● Contributes all patches back to Drupal
● Our profile on drupal.org - http://drupal.org/user/222163
● Knowledge partnerships with Acquia, New Relic and Volacci
● Freedom Walk, a 44 day walk by a team of
Free Software Evangelists across the length of
Kerala to promote Free Software
● Building RithuOS, an Operating System for Engineering
students with Free Software Engineering applications
● GNU/Linux Install Fests in Schools, Colleges and at Technopark.
● Local language (Malayalam) computing camps in colleges
● Building and Maintenance of Freedom Toaster, a Free Software
kiosk
● Conducting Free Software workshops and
lectures in colleges in Kerala
Free Software and Zyxware Technologies
• Check us out at http://www.zyxware.com
• Mail us at drupal@zyxware.com
• Like us at http://www.facebook.com/zyxware
• Follow us at http://www.twitter.com/zyxware
• Connect with us at
http://www.linkedin.com/companies/zyxware-technologies
• Talk to us at +91-9495969446 between 9AM - 9PM IST
• Skype me at aj_zyxware
Contact Us
Drupal Performance Optimization
Thank you

Drupal Performance Audit and Optimization

  • 1.
    Drupal Performance Audit andOptimization Anoop John, CTO Vimal Joseph, Technical Architect
  • 2.
    Drupal Performance Optimization Drupalis not slow Drupal is not slow The site was just not built for the context Poorly written backend Unoptimized front end Infrastructure not designed for traffic patterns
  • 3.
    Drupal Performance Optimization Aspectsof Performance Page load time Page render time Maximum number of simultaneous users on site Maximum number of logged in users on site
  • 4.
    Drupal Performance Optimization AuditingPerformance Document baseline performance Identify traffic patterns Evaluate website build Identify bottlenecks in the backend Identify bottlenecks in the frontend Evaluate hardware platform Identify limitations at the server level Evaluate server application configuration Identify sub-optimal configurations
  • 5.
    Drupal Performance Optimization FactorsAffecting Performance Server configuration - hardware specs Server applications - apache, database, caching Drupal backend - how the site has been built, modules, themes, custom code Drupal frontend - internal resources, external resources, content to be loaded / rendered, complexity of HTML, JS, CSS Caching layers - varnish, CDN, browser cache
  • 6.
    Drupal Performance Optimization ServerConfiguration Shared? VPS? Dedicated? Processor - speed? cores? dedicated? virtual? Memory - total memory available? shared? free memory? Hard disk - speed of i/o? SSD?
  • 7.
    Drupal Performance Optimization ServerApplications Apache - threading model - MPM, Prefork, CGI, FCGI, maximum number of requests, number of children, connection time out, modules Nginx MySQL - query caching, indexes, tmp table, open tables, heap size PHP - extensions
  • 8.
    Drupal Performance Optimization DrupalBackend Caching - page caching, views caching, caching in custom code Memcache Modules - number? unused? admin? Custom code - reviewed? SQL queries - slow queries? query log? SQL inserts - too many? logging? Disk writes - too many? Synchronous requests?
  • 9.
    Drupal Performance Optimization DrupalFrontend Loading time Rendering time Complexity of HTML Complexity and size of CSS Complexity and size of JS Number and size of static resources Number of external resources Synchronous external resources
  • 10.
    Drupal Performance Optimization CachingLayers Browser cache - enabled? expiry? Static caching - varnish? boost? Static resource caching - CDN? subdomains?
  • 11.
    Drupal Performance Optimization OptimizingPerformance Quantify bottlenecks - impact? cost? time? Classify bottlenecks - critical, high, normal, low Group solutions Iterate over groups - implement and test Document results Monitor and re-evaluate
  • 12.
    Drupal Performance Optimization TestingPerformance New Relic monitoring Apache ab testing Apache JMeter load testing
  • 13.
    Drupal Performance Optimization PerformanceTools Devel MySQL query logs EXPLAIN dpm, watchdog Profiling and tracing using xdebug http://webpagetest.org/ Yahoo YSlow, Google Page Speed Firebug
  • 14.
    Drupal Performance Optimization CommonPerformance Mistakes Too many modules Disabled caching Cache clears Debug logs and database logging Views caching Page not founds Unnecessary sessions PHP errors
  • 15.
    Zyxware Technologies andDrupal Zyxware is a leading contributor to Drupal from India and is one of only six Featured Service Providers from India listed on drupal.org ● Over 40,000 websites use our modules and themes ● More than 30 contributed modules and themes ● Maintainer of Search404, a top 100 Drupal module ● Over 1000 commits at drupal.org ● Contributes all patches back to Drupal ● Our profile on drupal.org - http://drupal.org/user/222163 ● Knowledge partnerships with Acquia, New Relic and Volacci
  • 16.
    ● Freedom Walk,a 44 day walk by a team of Free Software Evangelists across the length of Kerala to promote Free Software ● Building RithuOS, an Operating System for Engineering students with Free Software Engineering applications ● GNU/Linux Install Fests in Schools, Colleges and at Technopark. ● Local language (Malayalam) computing camps in colleges ● Building and Maintenance of Freedom Toaster, a Free Software kiosk ● Conducting Free Software workshops and lectures in colleges in Kerala Free Software and Zyxware Technologies
  • 17.
    • Check usout at http://www.zyxware.com • Mail us at drupal@zyxware.com • Like us at http://www.facebook.com/zyxware • Follow us at http://www.twitter.com/zyxware • Connect with us at http://www.linkedin.com/companies/zyxware-technologies • Talk to us at +91-9495969446 between 9AM - 9PM IST • Skype me at aj_zyxware Contact Us
  • 18.