Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Drupal performance

790 views

Published on

A short overview of performance improvements that can be relatively easily be done with drupal.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Drupal performance

  1. 1. Drupal Performance Gabi Lee, Sergata gabi.lee@sergata.com +972-54-5444542
  2. 2. Agenda• About• What is “Performance”• Measuring performance• Recipes – User – Server – Framework – Application
  3. 3. About Sergata• Innovative Software Development• Focus: Innovation | Startups | Entrepreneurs• From 0 to 100 in 3 months• Large scale projects of over 4 years• R&D Dream Team of 55 full time developers• Over 150 innovative projects world wide since 2006
  4. 4. Drupal Sites
  5. 5. “Performance”?• IT doesn’t matter• Single user – Total server time (App + DB) – Time for page to load (render) – Perceived performance• Concurrent users – Impact of multiple users on the single user experience• Analysis
  6. 6. Traffic 6,000/hour 30,000/hour
  7. 7. Measuring• User – Browsing the page… – Your (non-IE) browser – YSlow for FF – http://www.webpagetest.org• Load testing – ab – JMeter
  8. 8. YSlow• Network – Minimize HTTP Requests (Aggregation, Sprites) – Use a Content Delivery Network (Domains) – Gzip Components (CPU vs. Network)• Caching – Expires or a Cache-Control Header – Make AJAX Cacheable – Use GET for AJAX Requests• Data – Reduce the Number of DOM Elements – Do Not Scale Images in HTML (Smush.it)
  9. 9. Content Types• Cacheable content – Images – CSS/JS – “Static” HTMLs – Anonymous pages• Personalized content – Logged in users – Session based data
  10. 10. Bypass Server• How? – CDN (AWS, Cotendo, CloudFlare, etc.) – Boost – Reverse proxy (Varnish, Squid) – Expires header• When? – Resources - always – Most traffic is anonymous – Static, anonymous, landing pages
  11. 11. Drupal Configuration• Performance tab
  12. 12. Modules• Data access – APC – Memcache• Caching – Boost – Block Cache Alter – Varnish HTTP Accelerator Integration• CDN – Login Cookie – CDN• Others – “ImageCache”
  13. 13. Application Optimization• Use what you need• Ajax• Batch processing (e.g. analytics)• SQL optimization – Analysis – Indexing – No PHP<->DB loops (use DAL / Entity API) – Configuration
  14. 14. IT Level• Bigger servers• More servers – ELB on AWS – Requires shared drive• Opcode caching (APC)• Apache config – KeepAlive, modules, Expires, GZip
  15. 15. Bottom Line• Analyze•• Use external tools• Invest in configuration• Don’t write code
  16. 16. Thank You! Questions?gabi.lee@sergata.com
  17. 17. References• http://www.vmirgorod.name/blog/tuning- drupal-performance• http://fuseinteractive.ca/blog/drupal- performance-tuning-0• http://www.practicalclouds.com/content/guid e/accelerate-your-drupal-website-vital- performance-tuning• http://developer.yahoo.com/yslow/
  18. 18. mail@sergata.com+972-77-210300328 Baruch Hirsch St.Bnei-Brak, 51202, Israelhttp://www.sergata.com/en

×