SlideShare a Scribd company logo
1 of 22
Drupal Performance
   Gabi Lee, Sergata
 gabi.lee@sergata.com
   +972-54-5444542
Agenda
•   About
•   What is “Performance”
•   Measuring performance
•   Recipes
    – User
    – Server
    – Framework
    – Application
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
Drupal Sites
“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
Traffic
          6,000/hour




          30,000/hour
Measuring
• User
  – Browsing the page…
  – Your (non-IE) browser
  – YSlow for FF
  – http://www.webpagetest.org
• Load testing
  – ab
  – JMeter
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)
Content Types
• Cacheable content
  – Images
  – CSS/JS
  – “Static” HTMLs
  – Anonymous pages
• Personalized content
  – Logged in users
  – Session based data
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
Drupal Configuration
• Performance tab
Modules
• Data access
   – APC
   – Memcache
• Caching
   – Boost
   – Block Cache Alter
   – Varnish HTTP Accelerator Integration
• CDN
   – Login Cookie
   – CDN
• Others
   – “ImageCache”
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
IT Level
• Bigger servers
• More servers
  – ELB on AWS
  – Requires shared drive
• Opcode caching (APC)
• Apache config
  – KeepAlive, modules, Expires, GZip
Bottom Line
•   Analyze
•
•   Use external tools
•   Invest in configuration
•   Don’t write code
Thank You!

      Questions?
gabi.lee@sergata.com
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/
mail@sergata.com
+972-77-2103003
28 Baruch Hirsch St.
Bnei-Brak, 51202, Israel
http://www.sergata.com/en

More Related Content

What's hot

Wix sql on-storm-platform
Wix sql on-storm-platformWix sql on-storm-platform
Wix sql on-storm-platform
alooma
 
JCR Content Management
JCR Content ManagementJCR Content Management
JCR Content Management
elliando dias
 

What's hot (20)

Scaling horizontally on AWS
Scaling horizontally on AWSScaling horizontally on AWS
Scaling horizontally on AWS
 
Session 02 data_storage_and_database_services_in_aws_and_azure
Session 02 data_storage_and_database_services_in_aws_and_azureSession 02 data_storage_and_database_services_in_aws_and_azure
Session 02 data_storage_and_database_services_in_aws_and_azure
 
Serving Files In Azure
Serving Files In AzureServing Files In Azure
Serving Files In Azure
 
CosmosDb for beginners
CosmosDb for beginnersCosmosDb for beginners
CosmosDb for beginners
 
What are clouds made from
What are clouds made fromWhat are clouds made from
What are clouds made from
 
Introduction to CosmosDB - Azure Bootcamp 2018
Introduction to CosmosDB - Azure Bootcamp 2018Introduction to CosmosDB - Azure Bootcamp 2018
Introduction to CosmosDB - Azure Bootcamp 2018
 
Wix sql on-storm-platform
Wix sql on-storm-platformWix sql on-storm-platform
Wix sql on-storm-platform
 
Choosing the right Cloud Database
Choosing the right Cloud DatabaseChoosing the right Cloud Database
Choosing the right Cloud Database
 
Supercharge your RDBMS with Elasticsearch
Supercharge your RDBMS with ElasticsearchSupercharge your RDBMS with Elasticsearch
Supercharge your RDBMS with Elasticsearch
 
ArcGIS Open Data - Best Practices
ArcGIS Open Data - Best PracticesArcGIS Open Data - Best Practices
ArcGIS Open Data - Best Practices
 
SparxUp - Growth VS Scalability
SparxUp - Growth VS ScalabilitySparxUp - Growth VS Scalability
SparxUp - Growth VS Scalability
 
JCR Content Management
JCR Content ManagementJCR Content Management
JCR Content Management
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
 
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der LindenAMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
 
CI_CONF 2012: Scaling
CI_CONF 2012: ScalingCI_CONF 2012: Scaling
CI_CONF 2012: Scaling
 
CosmosDB for DBAs & Developers
CosmosDB for DBAs & DevelopersCosmosDB for DBAs & Developers
CosmosDB for DBAs & Developers
 
Cassandra online training in india usa uk canada uae south africa
Cassandra online training in india usa uk canada uae south africaCassandra online training in india usa uk canada uae south africa
Cassandra online training in india usa uk canada uae south africa
 
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solutionDotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solution
 
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der LindenAMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
AMIS OOW 2012 Review - Deel 4 ADF - Paco van der Linden
 
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016SharePoint Framework, React, and Office UI Fabric spc adriatics 2016
SharePoint Framework, React, and Office UI Fabric spc adriatics 2016
 

Similar to Drupal performance

Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructure
harendra_pathak
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page Speed
Lina Shamiah
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
Acquia
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 

Similar to Drupal performance (20)

Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructure
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
 
SharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceSharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 Performance
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
 
Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App Engine
 
CI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris MillerCI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris Miller
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalability
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page Speed
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Configuring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web PerormanceConfiguring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web Perormance
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 
Tridion Content Broker - how and why we are using it at the RSPB (2007)
Tridion Content Broker - how and why we are using it at the RSPB (2007)Tridion Content Broker - how and why we are using it at the RSPB (2007)
Tridion Content Broker - how and why we are using it at the RSPB (2007)
 
Capacity Planning
Capacity PlanningCapacity Planning
Capacity Planning
 
Apache drill
Apache drillApache drill
Apache drill
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 

Recently uploaded

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 

Drupal performance

  • 1. Drupal Performance Gabi Lee, Sergata gabi.lee@sergata.com +972-54-5444542
  • 2. Agenda • About • What is “Performance” • Measuring performance • Recipes – User – Server – Framework – Application
  • 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
  • 5.
  • 6. “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
  • 7.
  • 8. Traffic 6,000/hour 30,000/hour
  • 9.
  • 10. Measuring • User – Browsing the page… – Your (non-IE) browser – YSlow for FF – http://www.webpagetest.org • Load testing – ab – JMeter
  • 11. 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)
  • 12. Content Types • Cacheable content – Images – CSS/JS – “Static” HTMLs – Anonymous pages • Personalized content – Logged in users – Session based data
  • 13. 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
  • 14.
  • 16. Modules • Data access – APC – Memcache • Caching – Boost – Block Cache Alter – Varnish HTTP Accelerator Integration • CDN – Login Cookie – CDN • Others – “ImageCache”
  • 17. 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
  • 18. IT Level • Bigger servers • More servers – ELB on AWS – Requires shared drive • Opcode caching (APC) • Apache config – KeepAlive, modules, Expires, GZip
  • 19. Bottom Line • Analyze • • Use external tools • Invest in configuration • Don’t write code
  • 20. Thank You! Questions? gabi.lee@sergata.com
  • 21. 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/
  • 22. mail@sergata.com +972-77-2103003 28 Baruch Hirsch St. Bnei-Brak, 51202, Israel http://www.sergata.com/en