SlideShare a Scribd company logo
Drupal for the Enterprise




Seminar by DPCI featuring Dries Buytaert
Michael Mainiero, and Jeff Rigby
Thursday, October 29, 2009




  © 2009 DPCI. All Rights Reserved.
Drupal for the Enterprise




Presented by Jeff Rigby
Web Application Architect, DPCI
Thursday, October 29th, 2009




   © 2009 DPCI. All Rights Reserved.
Goals of this Presentation
          Describe how to scale Drupal from an out-of-box
          build to an enterprise level solution
          Explain some of the approaches DPCI has used
          with our clients to meet their scaling needs




©2009 DPCI. All Rights Reserved.
Scaling Drupal
          Anonymous is easy to scale
            — Mirror servers
            — Reverse-Proxy caches
            — Drupal only manages the content
          Authenticated traffic is more difficult
            — Each dynamic page must be processed by PHP
            — Requires more horsepower




©2009 DPCI. All Rights Reserved.
Built In Options
          Configuration
            — Drupal page/block cache
            — Page compression
            — Aggregate JS/CSS

          Coding
            — Drupal cache (use it!)
            — Use static variables when possible

    Immediately usable with no additional modules



©2009 DPCI. All Rights Reserved.
Built In Options Results
                      4.8
      Auth
                      4.8



                                                                      Optimized
                                                         96.5         OOB
      Anon
                      5.8



                0             20   40      60       80   100    120
                                   Requests Per Second




©2009 DPCI. All Rights Reserved.
Quick Optimizations
          Boost
          Memcached
          Opcode Cache




©2009 DPCI. All Rights Reserved.
Boost
          Amazing performance gain
          Anonymous users only
          Serves static files
          No additional software or hardware needed




©2009 DPCI. All Rights Reserved.
Memcached
          Easy to install on the server
          Minor module configuration
          Removes the cache from the database
          Optionally removes session tracking from the
          database
          Significantly reduces MySQL statements




©2009 DPCI. All Rights Reserved.
Opcode Cache
    — A few out there (APC, Zend Optimizer, XCache,
      eAccelerator)
    — Easy to install
    — Pre-compiles PHP in memory
    — Reduces server load




©2009 DPCI. All Rights Reserved.
Combined Results
                   15.1
     Auth
                  4.8



                                                                            Optimized
                                                                427         OOB
    Anon
                  5.8



              0                100    200        300      400         500
                                     Request Per Second




©2009 DPCI. All Rights Reserved.
MySQL Tweaks
          Tune your MySQL configuration to your server.
          MySQL Tuner is very useful:
          http://blog.mysqltuner.com
          Enable the query cache!
          Enable the slow query log to spot problem queries




©2009 DPCI. All Rights Reserved.
Apache SOLR
          Module provides drop-in replacement for search
          Gets search out of Drupal
          Avoids expensive node_load() calls
          Available as a hosted solution from Acquia




©2009 DPCI. All Rights Reserved.
Reverse-Proxy Cache
          Squid or Varnish
          Run on the same server or clustered on multiple
          external servers
          Can reduce web server traffic by 90%+ if serving
          the entire site (anonymous traffic)
          For dynamic sites, offload all static files (JS, CSS,
          images, etc.) and let Apache focus on PHP
          Low overhead
          Tip: Override the expires header (
            — Expires: Sun, 19 Nov 1978 05:00:00 GMT



©2009 DPCI. All Rights Reserved.
Reverse-Proxy Cache




©2009 DPCI. All Rights Reserved.
Use a CDN
          Many options out there: Akamai, Amazon, CacheFly
          Generally easy to setup
          Off-load entire site or only static files (JS, CSS,
          images, etc.)
          Can be expensive




©2009 DPCI. All Rights Reserved.
Static Page Tips
          Javascript!
          Store dynamic values in a cookie
          Use AJAX to load small portions of dynamic
          content
          Use Javascript to replace dates with natural
          language “About 4 Minutes Ago”




©2009 DPCI. All Rights Reserved.
Load Balanced Web Servers
          Use rsync to keep Web servers synched or NFS web
          root
          Advanced load balancers can handle server
          failures
          Easy to add or remove servers with no site
          downtime
          Run server intensive tasks (cron, data import, etc.)
          on an internal server to avoid site slow downs




©2009 DPCI. All Rights Reserved.
Multiple MySQL Databases
          Master / Slave Setup
            — Minimum of 2 servers
            — Drupal 5 and 6 require minor core hacks
            — Built into Drupal 7!
            — Be mindful of database lag
            — Reliant on master database
          Use Memcached to share the query cache across
          all servers
          Clustering and distributed configurations



©2009 DPCI. All Rights Reserved.
Sample Large Scale Site




©2009 DPCI. All Rights Reserved.
Scaling Drupal


  Questions?
                   Jeff’ s Blog:
        www.databasepublish.com/blog/jrigby




©2009 DPCI. All Rights Reserved.

More Related Content

What's hot

Vm13 vnx mixed workloads
Vm13 vnx mixed workloadsVm13 vnx mixed workloads
Vm13 vnx mixed workloadspittmantony
 
AWSome Data Protection with Veeam
AWSome Data Protection with VeeamAWSome Data Protection with Veeam
AWSome Data Protection with Veeam
Amazon Web Services
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group Presentation
Daniel Kanchev
 
IV Evento GeneXus Italia - Storage IBM
IV Evento GeneXus Italia - Storage IBMIV Evento GeneXus Italia - Storage IBM
IV Evento GeneXus Italia - Storage IBM
Rad Solutions
 
SM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackSM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstack
pittmantony
 
Microsoft Azure Virtual Machine
Microsoft Azure Virtual MachineMicrosoft Azure Virtual Machine
Microsoft Azure Virtual Machine
Helmy Mohamed
 
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
OVHcloud
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS Environments
Ronald Bradford
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3UniFabric
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
Justin Foell
 
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
Amazon Web Services
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7
Osys AG
 
Veeam Backup and Replication: Overview
Veeam  Backup and Replication: OverviewVeeam  Backup and Replication: Overview
Veeam Backup and Replication: OverviewDudley Smith
 
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
Alex Gorbachev
 
wordpress-performance-presentation
wordpress-performance-presentationwordpress-performance-presentation
wordpress-performance-presentationArun Janarthanan
 
Securing Your WordPress Website - WordCamp Sydney 2012
Securing Your WordPress Website - WordCamp Sydney 2012Securing Your WordPress Website - WordCamp Sydney 2012
Securing Your WordPress Website - WordCamp Sydney 2012
Vlad Lasky
 
V mware2012 20121221_final
V mware2012 20121221_finalV mware2012 20121221_final
V mware2012 20121221_finalWeb2Present
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
Juan Jose Gazzola
 
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Vlad Lasky
 

What's hot (20)

Vm13 vnx mixed workloads
Vm13 vnx mixed workloadsVm13 vnx mixed workloads
Vm13 vnx mixed workloads
 
AWSome Data Protection with Veeam
AWSome Data Protection with VeeamAWSome Data Protection with Veeam
AWSome Data Protection with Veeam
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group Presentation
 
IV Evento GeneXus Italia - Storage IBM
IV Evento GeneXus Italia - Storage IBMIV Evento GeneXus Italia - Storage IBM
IV Evento GeneXus Italia - Storage IBM
 
SM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstackSM16 - Can i move my stuff to openstack
SM16 - Can i move my stuff to openstack
 
Microsoft Azure Virtual Machine
Microsoft Azure Virtual MachineMicrosoft Azure Virtual Machine
Microsoft Azure Virtual Machine
 
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS Environments
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
 
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
AWS Summit Auckland 2014 | AWSome Data Protection with Veeam - Session Sponso...
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7
 
Veeam Backup and Replication: Overview
Veeam  Backup and Replication: OverviewVeeam  Backup and Replication: Overview
Veeam Backup and Replication: Overview
 
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
Oracle 11g New Features Out-of-the-Box by Alex Gorbachev (from Sydney Oracle ...
 
wordpress-performance-presentation
wordpress-performance-presentationwordpress-performance-presentation
wordpress-performance-presentation
 
Securing Your WordPress Website - WordCamp Sydney 2012
Securing Your WordPress Website - WordCamp Sydney 2012Securing Your WordPress Website - WordCamp Sydney 2012
Securing Your WordPress Website - WordCamp Sydney 2012
 
V mware2012 20121221_final
V mware2012 20121221_finalV mware2012 20121221_final
V mware2012 20121221_final
 
Azure virtual machines & Terraform
Azure virtual machines  & Terraform Azure virtual machines  & Terraform
Azure virtual machines & Terraform
 
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
 
RHT Design for Security
RHT Design for SecurityRHT Design for Security
RHT Design for Security
 

Similar to Jeff Rigby on Scaling Drupal in the Enterprise

Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
SiteGround.com
 
Presentation integration vmware with emc storage
Presentation   integration vmware with emc storagePresentation   integration vmware with emc storage
Presentation integration vmware with emc storagesolarisyourep
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
Achieve Internet
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
Achieve Internet
 
My sql vivo_5.5_product_update_pt
My sql  vivo_5.5_product_update_ptMy sql  vivo_5.5_product_update_pt
My sql vivo_5.5_product_update_ptMySQL Brasil
 
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Vlad Lasky
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
Zend by Rogue Wave Software
 
Deploying SOA on the Oracle Database Appliance
Deploying SOA on the Oracle Database ApplianceDeploying SOA on the Oracle Database Appliance
Deploying SOA on the Oracle Database Appliance
O-box
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPress
Erik Osterman
 
Hyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksHyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksAmit Gatenyo
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
Exove
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sitesdrupalcampest
 
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
Brian Boyd
 
S016394 pendulum-swings-melbourne-v1708d
S016394 pendulum-swings-melbourne-v1708dS016394 pendulum-swings-melbourne-v1708d
S016394 pendulum-swings-melbourne-v1708d
Tony Pearson
 
EMC Multisite DR for SQL Server 2012
EMC Multisite DR for SQL Server 2012EMC Multisite DR for SQL Server 2012
EMC Multisite DR for SQL Server 2012
xKinAnx
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Andrejs Prokopjevs
 
IBM & Veeam: Bridging the availability gap
IBM & Veeam: Bridging the availability gapIBM & Veeam: Bridging the availability gap
IBM & Veeam: Bridging the availability gap
Paula Koziol
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp
 
S014068 pendulum-swings-orlando-v1705c
S014068 pendulum-swings-orlando-v1705cS014068 pendulum-swings-orlando-v1705c
S014068 pendulum-swings-orlando-v1705c
Tony Pearson
 

Similar to Jeff Rigby on Scaling Drupal in the Enterprise (20)

Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Presentation integration vmware with emc storage
Presentation   integration vmware with emc storagePresentation   integration vmware with emc storage
Presentation integration vmware with emc storage
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 
My sql vivo_5.5_product_update_pt
My sql  vivo_5.5_product_update_ptMy sql  vivo_5.5_product_update_pt
My sql vivo_5.5_product_update_pt
 
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
 
Deploying SOA on the Oracle Database Appliance
Deploying SOA on the Oracle Database ApplianceDeploying SOA on the Oracle Database Appliance
Deploying SOA on the Oracle Database Appliance
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPress
 
Hyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksHyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and Tricks
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
 
S016394 pendulum-swings-melbourne-v1708d
S016394 pendulum-swings-melbourne-v1708dS016394 pendulum-swings-melbourne-v1708d
S016394 pendulum-swings-melbourne-v1708d
 
EMC Multisite DR for SQL Server 2012
EMC Multisite DR for SQL Server 2012EMC Multisite DR for SQL Server 2012
EMC Multisite DR for SQL Server 2012
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
 
IBM & Veeam: Bridging the availability gap
IBM & Veeam: Bridging the availability gapIBM & Veeam: Bridging the availability gap
IBM & Veeam: Bridging the availability gap
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
S014068 pendulum-swings-orlando-v1705c
S014068 pendulum-swings-orlando-v1705cS014068 pendulum-swings-orlando-v1705c
S014068 pendulum-swings-orlando-v1705c
 

Recently uploaded

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Jeff Rigby on Scaling Drupal in the Enterprise

  • 1. Drupal for the Enterprise Seminar by DPCI featuring Dries Buytaert Michael Mainiero, and Jeff Rigby Thursday, October 29, 2009 © 2009 DPCI. All Rights Reserved.
  • 2. Drupal for the Enterprise Presented by Jeff Rigby Web Application Architect, DPCI Thursday, October 29th, 2009 © 2009 DPCI. All Rights Reserved.
  • 3. Goals of this Presentation Describe how to scale Drupal from an out-of-box build to an enterprise level solution Explain some of the approaches DPCI has used with our clients to meet their scaling needs ©2009 DPCI. All Rights Reserved.
  • 4. Scaling Drupal Anonymous is easy to scale — Mirror servers — Reverse-Proxy caches — Drupal only manages the content Authenticated traffic is more difficult — Each dynamic page must be processed by PHP — Requires more horsepower ©2009 DPCI. All Rights Reserved.
  • 5. Built In Options Configuration — Drupal page/block cache — Page compression — Aggregate JS/CSS Coding — Drupal cache (use it!) — Use static variables when possible Immediately usable with no additional modules ©2009 DPCI. All Rights Reserved.
  • 6. Built In Options Results 4.8 Auth 4.8 Optimized 96.5 OOB Anon 5.8 0 20 40 60 80 100 120 Requests Per Second ©2009 DPCI. All Rights Reserved.
  • 7. Quick Optimizations Boost Memcached Opcode Cache ©2009 DPCI. All Rights Reserved.
  • 8. Boost Amazing performance gain Anonymous users only Serves static files No additional software or hardware needed ©2009 DPCI. All Rights Reserved.
  • 9. Memcached Easy to install on the server Minor module configuration Removes the cache from the database Optionally removes session tracking from the database Significantly reduces MySQL statements ©2009 DPCI. All Rights Reserved.
  • 10. Opcode Cache — A few out there (APC, Zend Optimizer, XCache, eAccelerator) — Easy to install — Pre-compiles PHP in memory — Reduces server load ©2009 DPCI. All Rights Reserved.
  • 11. Combined Results 15.1 Auth 4.8 Optimized 427 OOB Anon 5.8 0 100 200 300 400 500 Request Per Second ©2009 DPCI. All Rights Reserved.
  • 12. MySQL Tweaks Tune your MySQL configuration to your server. MySQL Tuner is very useful: http://blog.mysqltuner.com Enable the query cache! Enable the slow query log to spot problem queries ©2009 DPCI. All Rights Reserved.
  • 13. Apache SOLR Module provides drop-in replacement for search Gets search out of Drupal Avoids expensive node_load() calls Available as a hosted solution from Acquia ©2009 DPCI. All Rights Reserved.
  • 14. Reverse-Proxy Cache Squid or Varnish Run on the same server or clustered on multiple external servers Can reduce web server traffic by 90%+ if serving the entire site (anonymous traffic) For dynamic sites, offload all static files (JS, CSS, images, etc.) and let Apache focus on PHP Low overhead Tip: Override the expires header ( — Expires: Sun, 19 Nov 1978 05:00:00 GMT ©2009 DPCI. All Rights Reserved.
  • 15. Reverse-Proxy Cache ©2009 DPCI. All Rights Reserved.
  • 16. Use a CDN Many options out there: Akamai, Amazon, CacheFly Generally easy to setup Off-load entire site or only static files (JS, CSS, images, etc.) Can be expensive ©2009 DPCI. All Rights Reserved.
  • 17. Static Page Tips Javascript! Store dynamic values in a cookie Use AJAX to load small portions of dynamic content Use Javascript to replace dates with natural language “About 4 Minutes Ago” ©2009 DPCI. All Rights Reserved.
  • 18. Load Balanced Web Servers Use rsync to keep Web servers synched or NFS web root Advanced load balancers can handle server failures Easy to add or remove servers with no site downtime Run server intensive tasks (cron, data import, etc.) on an internal server to avoid site slow downs ©2009 DPCI. All Rights Reserved.
  • 19. Multiple MySQL Databases Master / Slave Setup — Minimum of 2 servers — Drupal 5 and 6 require minor core hacks — Built into Drupal 7! — Be mindful of database lag — Reliant on master database Use Memcached to share the query cache across all servers Clustering and distributed configurations ©2009 DPCI. All Rights Reserved.
  • 20. Sample Large Scale Site ©2009 DPCI. All Rights Reserved.
  • 21. Scaling Drupal Questions? Jeff’ s Blog: www.databasepublish.com/blog/jrigby ©2009 DPCI. All Rights Reserved.