SlideShare a Scribd company logo
Enterprise-Scale
WordPress
KEANAN KOPPENHAVER
@KKOPPENHAVER
HTTP://GITHUB.COM/KKOPPENHAVER
HTTP://LEVELUPWP.NET
KEANAN@DOEJO.COM
Who Am I?
• Developer at doejo
• Been working primarily on WP projects for the
past 3 years
• Scaling up from small marketing sites
What’s the #1 rule of
Enterprise-Scale WordPress?
Everything takes longer.
(and that’s a good thing)
Part 1 | Infrastructure
WordPress VIP
Enterprise-Scale WordPress
What is WordPress VIP?
• Managed Hosting by Automattic
• Serves just over 22 billion page views/month
• Includes Security, Code Review, and much more
• Hosted on the same platform that powers millions
of blogs on WordPress.com
WordPress.Com Serves 70,000 Req/Sec
And Over 15 Gbit/Sec Of Traffic (2012)
Source: http://highscalability.com/blog/2012/9/26/wordpresscom-serves-70000-
reqsec-and-over-15-gbitsec-of-traf.html
What if I don’t want to pay
$5k+/month?
Enterprise-Scale WordPress
What if I want to manage it
myself?
Enterprise-Scale WordPress
Enterprise-Scale WordPress
Enterprise-Scale WordPress
What kind of traffic are we
talking about?
• 4-6 million pageviews / month
• 20,000 page views / hour (during the work day)
• 5 page views every second (among 100s of
concurrent connections)
Multiple Environments
Small-Scale
FTP
KEANAN’S MACBOOK HTTP://KEANANKOPPENHAVER.COM
SSH
Enterprise-Scale
KEANAN’S MACBOOK
HTTP://DEV.KK.COM
HTTP://QA.KK.COM
HTTP://BETA.KK.COM
HTTP://KK.COM
Load Balancing
Small-Scale
HTTP://KEANANKOPPENHAVER.COMKEANAN’S MACBOOK
Enterprise-Scale
KK-PROD1
KK-PROD2
KK-PROD3
KEANAN’S MACBOOK
Load Balancer Icon by Alex WaZa for Noun Project
HTTP://KK.COM
Why load balance?
Servers are busy
• Serving static assets (HTML/CSS/JS/JPG/PNG/
PDF, etc…)
• Processing and serving all needed PHP templates
• Making MySQL calls
Enterprise-Scale WordPress
Enterprise-Scale
KK-PROD1
KK-PROD2
KK-PROD3
KEANAN’S MACBOOK
Load Balancer Icon by Alex WaZa for Noun Project
HTTP://KK.COM
Caching
Servers are busy
• Serving static assets (HTML/CSS/JS/JPG/PNG/
PDF, etc…)
• Processing and serving all needed PHP templates
• Making MySQL calls
Front End Caching
Front End Caching
• Cache stored on the user’s machine
• Specified expiration date when the asset is “stale”
• Saves the server from serving these assets that
don’t change
• Advanced Mode: Cache busting URL string
• Super Advanced Mode: CDN
Back End Caching
https://memcached.org/
Memcached is…often used to speed up dynamic
database-driven websites by caching data and
objects in RAM to reduce the number of times an
external data source (such as a database or API)
must be read.
Backend Caching
• Memcached saves web server and database
server
• Prevents blocking DB calls
• Must be flushed when changes are made
Phil Carlton, Tim Bray, Jeff Atwood, and many others
There are two hard things in computer science:
cache invalidation, naming things, and off-by-one
errors.
Part 2 | Workflow
Task Management
Task Management
• JIRA/Trello
• Sprint Planning
• Can be tied in with Version Control
Version Control
Version Control
• Git (Command Line or Source Tree)
• Branches are important
• Tie branches and commits to tickets
• You may need…
Code Review
Code Review
• Peer review of your commits
• Included with WP VIP
• Useful double check
• Useful for learning across the team
Automated Deployments
Automated Deployments
• No more manual FTP
• Deploy from Version Control
• Ensure pre- and post-deployment steps are the
same every time
• Deployment == One Less Thing To Think About
Part 3 | Dos and Don’ts
( ^^ functions.php)
DON’T: Dump everything in
functions.php
• Multiple files with grouped functions
• Namespacing
• Sanity when Searching
• lib/*
Enterprise-Scale WordPress
DON’T: Dump everything in
functions.php (Part 2)
• Bigger than a group of functions? Feature Plugin.
• Pros: Can be maintained independently
• Cons: Has to be maintained independently
DO: Keep request count low
• Ad Networks, Analytics, Social Integration, etc
• Maximum simultaneous connections (per
browser)
• Think of the mobile users
• Luckily, Dev Tools has your back
Enterprise-Scale WordPress
Enterprise-Scale WordPress
In summary…
Everything takes longer.
(and that’s a good thing)
Questions?
KEANAN KOPPENHAVER
@KKOPPENHAVER
HTTP://GITHUB.COM/KKOPPENHAVER
HTTP://LEVELUPWP.NET
KEANAN@DOEJO.COM

More Related Content

PPTX
ReactPHP + Symfony
PDF
A Practical Introduction to Functions-as-a-Service
PPTX
Designing Modern Web Applications
PPTX
Building Modern Web Applications with ASP.NET5
PPTX
Building rest services using aspnetwebapi
PPTX
Create a modern(ish) BAM portal in (roughly) one hour!
PDF
User percieved performance
PDF
Single Page Apps
ReactPHP + Symfony
A Practical Introduction to Functions-as-a-Service
Designing Modern Web Applications
Building Modern Web Applications with ASP.NET5
Building rest services using aspnetwebapi
Create a modern(ish) BAM portal in (roughly) one hour!
User percieved performance
Single Page Apps

What's hot (20)

PPTX
BizTalk Server Performance Tips
PDF
Asp.Net 3 5 Part 1
PPTX
Net as an awesome startup platform
PDF
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
PDF
Engage 2020: Hello are you listening, There is stream for everything
PPTX
SenchaCon 2016 - How to Auto Generate a Back-end in Minutes
PDF
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
PPTX
Building solutions with the SharePoint Framework - introduction
PPTX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
PPTX
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
PDF
Bridge the gap with Chat Automation
PDF
BizTalk Server Extensibility
PPTX
Technology Stack Discussion
PDF
Consuming ASP.NET Web API with WebSockets
PDF
Custom coded projects
PPTX
Aws 12 Month Free Tier for Web Designers and Developers
PDF
Workshop automating with microsoft flow
PPTX
Host, deploy & scale Blazor Server Apps
PPTX
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
PPTX
20120329 installing wordpress_3_3_1_locally
BizTalk Server Performance Tips
Asp.Net 3 5 Part 1
Net as an awesome startup platform
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
Engage 2020: Hello are you listening, There is stream for everything
SenchaCon 2016 - How to Auto Generate a Back-end in Minutes
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
Building solutions with the SharePoint Framework - introduction
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Bridge the gap with Chat Automation
BizTalk Server Extensibility
Technology Stack Discussion
Consuming ASP.NET Web API with WebSockets
Custom coded projects
Aws 12 Month Free Tier for Web Designers and Developers
Workshop automating with microsoft flow
Host, deploy & scale Blazor Server Apps
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
20120329 installing wordpress_3_3_1_locally
Ad

Viewers also liked (11)

PPTX
WordCamp Harare 2016 - Site Speed = Success
PDF
UKOUG 2011: Practical MySQL Tuning
PDF
Scaling WooCommerce on WP Engine
KEY
170 Radio Stations :: WordPress at Scale
PDF
Your WordPress Site Has Been Hacked: What Now?
PPTX
PDF
Conference slides: MySQL Cluster Performance Tuning
PPT
Understanding MySQL Performance through Benchmarking
PDF
MySQL Performance Tuning: Top 10 Tips
PDF
MySQL Tuning
PDF
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
WordCamp Harare 2016 - Site Speed = Success
UKOUG 2011: Practical MySQL Tuning
Scaling WooCommerce on WP Engine
170 Radio Stations :: WordPress at Scale
Your WordPress Site Has Been Hacked: What Now?
Conference slides: MySQL Cluster Performance Tuning
Understanding MySQL Performance through Benchmarking
MySQL Performance Tuning: Top 10 Tips
MySQL Tuning
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
Ad

Similar to Enterprise-Scale WordPress (20)

PPTX
The Importance of Site Performance and Simple Steps to Achieve It
PPTX
Mage uk-2013-1345-chris-wells-131030120920-phpapp01
PPTX
Best Practices for Building WordPress Applications
PPTX
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
PPT
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
PPTX
Best Practices for WordPress in Enterprise
PPTX
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
PPTX
Building azure applications ireland
PPTX
Single Page Applications: Your Browser is the OS!
PDF
Best practices-wordpress-enterprise
PPTX
Data harmony update 2021
PPT
Shopzilla - Performance By Design
PPT
Praxistaugliche notes strategien 4 cloud
PPTX
Webinar: Best Practices for Upgrading to MongoDB 3.2
PPTX
AOUG_11Nov2016_Challenges_with_EBS12_2
PDF
Code for Startup MVP (Ruby on Rails) Session 1
PPTX
Four Practices to Fix Your Top .NET Performance Problems
PDF
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
ZIP
3-18-11
The Importance of Site Performance and Simple Steps to Achieve It
Mage uk-2013-1345-chris-wells-131030120920-phpapp01
Best Practices for Building WordPress Applications
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
Best Practices for WordPress in Enterprise
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building azure applications ireland
Single Page Applications: Your Browser is the OS!
Best practices-wordpress-enterprise
Data harmony update 2021
Shopzilla - Performance By Design
Praxistaugliche notes strategien 4 cloud
Webinar: Best Practices for Upgrading to MongoDB 3.2
AOUG_11Nov2016_Challenges_with_EBS12_2
Code for Startup MVP (Ruby on Rails) Session 1
Four Practices to Fix Your Top .NET Performance Problems
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
3-18-11

More from Keanan Koppenhaver (11)

PDF
The WP REST API as the Foundation of the Open Web 
PDF
Advanced WordPress Tooling
PDF
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
PDF
Selling DevOps To Non-Technical Management
PDF
Debugging Tips and Tricks
PDF
Contributing to WordPress - #WCNYC
PDF
Contributing to open source as a non developer - #wclax
PDF
Building a WordPress plugin
PDF
WordPress Debugging Tips and Tricks
PDF
WordPress Debugging Tips and Tricks
PDF
WP REST API - Adding Your Own Endpoint
The WP REST API as the Foundation of the Open Web 
Advanced WordPress Tooling
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
Selling DevOps To Non-Technical Management
Debugging Tips and Tricks
Contributing to WordPress - #WCNYC
Contributing to open source as a non developer - #wclax
Building a WordPress plugin
WordPress Debugging Tips and Tricks
WordPress Debugging Tips and Tricks
WP REST API - Adding Your Own Endpoint

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
cuic standard and advanced reporting.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Spectroscopy.pptx food analysis technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
cuic standard and advanced reporting.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Programs and apps: productivity, graphics, security and other tools
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Spectroscopy.pptx food analysis technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx

Enterprise-Scale WordPress