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.