SlideShare a Scribd company logo
High Performance
   WordPress
  WordCamp Jerusalem
   September 5, 2010
About Me

 Barry Abrahamson
 Systems Wrangler, Automattic
 http://barry.wordpress.com/contact-me/
WordPress.com
WordPress.com

 Launched in August 2005
WordPress.com

 Launched in August 2005
 ~13.5 million sites and 16 million users today
WordPress.com

 Launched in August 2005
 ~13.5 million sites and 16 million users today
 Over 2 billion HTTP requests per day
WordPress.com

 Launched in August 2005
 ~13.5 million sites and 16 million users today
 Over 2 billion HTTP requests per day
 Billions of MySQL queries per month
WordPress.com

 Launched in August 2005
 ~13.5 million sites and 16 million users today
 Over 2 billion HTTP requests per day
 Billions of MySQL queries per month
 500TB of bandwidth per week
What is Performance?
What is Performance?


  Speed - Serve each request as quickly as possible
What is Performance?


  Speed - Serve each request as quickly as possible
  Scaling - Serve many concurrent requests
Speed
Speed	
Server
Speed	
Server
  Generating the content
Speed	
Server
  Generating the content
Client
Speed	
Server
  Generating the content
Client
  Downloading
Speed	
Server
  Generating the content
Client
  Downloading
  Parsing
Speed	
Server
  Generating the content
Client
  Downloading
  Parsing
  Displaying
Speed	
Server
  Generating the content
Client
  Downloading
  Parsing
  Displaying
Client Side Performance
Client Side Performance
  80%+ of the total load time
Client Side Performance
  80%+ of the total load time
  Tools
Client Side Performance
  80%+ of the total load time
  Tools
    YSlow - http://developer.yahoo.com/yslow/
Client Side Performance
  80%+ of the total load time
  Tools
    YSlow - http://developer.yahoo.com/yslow/
    Page Speed - http://code.google.com/speed/
    page-speed/
Client Side Performance
Client Side Performance


Reduce number of HTTP Requests
Client Side Performance


Reduce number of HTTP Requests
Compress (gzip)
Client Side Performance


Reduce number of HTTP Requests
Compress (gzip)
Optimize images (resize, pngcrush, jpegtran)
Server Side Performance
Server Side Performance


More important than client side performance
Server Side Performance


More important than client side performance
Tools aren’t as advanced / fancy as client tools
Server Side Performance
Server Side Performance
Possible problems
Server Side Performance
Possible problems
  Slow database queries
Server Side Performance
Possible problems
  Slow database queries
  PHP (CPU)
Server Side Performance
Possible problems
  Slow database queries
  PHP (CPU)
  Network
Server Side Performance
Possible problems
  Slow database queries
  PHP (CPU)
  Network
Tools
Server Side Performance
Possible problems
  Slow database queries
  PHP (CPU)
  Network
Tools
  WordPress Plugins - Search for “debug”
WordPress.com Debug Tools
Server Side Performance
Server Side Performance	

Tools
Server Side Performance	

Tools
  MySQL Slow query log
Server Side Performance	

Tools
  MySQL Slow query log
  http://www.maatkit.org/doc/mk-query-digest.html
Server Side Performance	

Tools
  MySQL Slow query log
  http://www.maatkit.org/doc/mk-query-digest.html
  Strace / lsof / gdb
Server Side Performance	

Tools
  MySQL Slow query log
  http://www.maatkit.org/doc/mk-query-digest.html
  Strace / lsof / gdb
Many times plugins are the culprit.
How can I improve
  performance?
As a User
As a User

Make sure you are running the latest WordPress!
As a User

Make sure you are running the latest WordPress!
  Constant performance improvements being made.
  Many from things found on WordPress.com
As a User

Make sure you are running the latest WordPress!
  Constant performance improvements being made.
  Many from things found on WordPress.com
Show a reasonable number of posts per page. 10-25
seems to be good
As a User

Make sure you are running the latest WordPress!
  Constant performance improvements being made.
  Many from things found on WordPress.com
Show a reasonable number of posts per page. 10-25
seems to be good
Monitor site performance
As a Sysadmin
As a Sysadmin

Opcode cache (APC)
As a Sysadmin

Opcode cache (APC)
Caching plugins (Batcache, WP super cache)
As a Sysadmin

Opcode cache (APC)
Caching plugins (Batcache, WP super cache)
Make sure you are running the latest PHP
As a Sysadmin

Opcode cache (APC)
Caching plugins (Batcache, WP super cache)
Make sure you are running the latest PHP
HipHop
As a Sysadmin

Opcode cache (APC)
Caching plugins (Batcache, WP super cache)
Make sure you are running the latest PHP
HipHop
Apache + mod_php < Nginx + php-fpm.
Real World Numbers
Real World Numbers	

APC
Real World Numbers	

APC
 Empty cache - 33.5 MB RAM
Real World Numbers	

APC
 Empty cache - 33.5 MB RAM
 Primed cache - 6.2 MB RAM
Real World Numbers	

APC
 Empty cache - 33.5 MB RAM
 Primed cache - 6.2 MB RAM
 60% reduction in CPU utilization ( 2160 CPUs )
Real World Numbers	

APC
  Empty cache - 33.5 MB RAM
  Primed cache - 6.2 MB RAM
  60% reduction in CPU utilization ( 2160 CPUs )
PHP 5.3.3 10% CPU reduction ( 360 CPUs )
Real World Numbers
Real World Numbers

HipHop
Real World Numbers

HipHop
 40% faster ( http://huichen.org/en/2010/06/
 wordpress-3-benchmark/ )
Real World Numbers

HipHop
 40% faster ( http://huichen.org/en/2010/06/
 wordpress-3-benchmark/ )
 270% faster ( http://huichen.org/en/2010/06/
 wordpress-3-benchmark-part-2/ )
Real World Numbers
Apache + mod_php

1 request requiring php


  Using mod_php, php is
  loaded for every request
  even if not needed
  Most scaling problems are
  because of this
As a Developer
As a Developer


Only perform write operations when needed. Example
is flushing rewrite rules on every page load
As a Developer


Only perform write operations when needed. Example
is flushing rewrite rules on every page load
Use WordPress functions when possible.
WordPress.com
WordPress.com

 ~ 1100 servers in 3 datacenters
 ~ 450 web servers (8 CPU cores)
 ~ 400 database servers (lots of SSDs)
 ~ 75 memcached servers (800GB of RAM)
Scaling Tips
Scaling Tips

  Most things you do to scale WordPress apply to
  any web app
Scaling Tips

  Most things you do to scale WordPress apply to
  any web app
  If your bottleneck is the database, something is
  wrong
Scaling Tips

  Most things you do to scale WordPress apply to
  any web app
  If your bottleneck is the database, something is
  wrong
  Measure twice, cut once, measure again
Scaling Tips

  Most things you do to scale WordPress apply to
  any web app
  If your bottleneck is the database, something is
  wrong
  Measure twice, cut once, measure again
  Don’t optimize if you don’t need to
Questions?

More Related Content

What's hot

Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
WordCamp Cape Town
 
Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012
Amazee Labs
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
paudelvinay
 

What's hot (20)

Presentation1
Presentation1Presentation1
Presentation1
 
A crash course in scaling wordpress
A crash course inscaling wordpress A crash course inscaling wordpress
A crash course in scaling wordpress
 
WordPress.org & Optimizing Security for your WordPress sites
WordPress.org & Optimizing Security for your WordPress sitesWordPress.org & Optimizing Security for your WordPress sites
WordPress.org & Optimizing Security for your WordPress sites
 
Speeding Up WordPress sites
Speeding Up WordPress sitesSpeeding Up WordPress sites
Speeding Up WordPress sites
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
 
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl
 
Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)
 
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...
 
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
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
 
Leeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website SpeedLeeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website Speed
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
 
Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012Drupal High Availability High Performance 2012
Drupal High Availability High Performance 2012
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngine
 
WordPress Optimization with Litespeed Cache #wpjkt14
WordPress Optimization with Litespeed Cache  #wpjkt14WordPress Optimization with Litespeed Cache  #wpjkt14
WordPress Optimization with Litespeed Cache #wpjkt14
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
Piecing Together the WordPress Puzzle
Piecing Together the WordPress PuzzlePiecing Together the WordPress Puzzle
Piecing Together the WordPress Puzzle
 

Viewers also liked

Viewers also liked (7)

Why Semantics Matter? Adding the semantic edge to your content, right from au...
Why Semantics Matter? Adding the semantic edge to your content,right from au...Why Semantics Matter? Adding the semantic edge to your content,right from au...
Why Semantics Matter? Adding the semantic edge to your content, right from au...
 
Five Reminders about Social Media Marketing
Five Reminders about Social Media MarketingFive Reminders about Social Media Marketing
Five Reminders about Social Media Marketing
 
Sure 99% intraday gold silver calls
Sure 99% intraday gold silver callsSure 99% intraday gold silver calls
Sure 99% intraday gold silver calls
 
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
 
Live Project Training in Ahmedabad
Live Project Training in AhmedabadLive Project Training in Ahmedabad
Live Project Training in Ahmedabad
 
Connecting to Your Data in the Cloud
Connecting to Your Data in the CloudConnecting to Your Data in the Cloud
Connecting to Your Data in the Cloud
 
Master of None Boot Camp: Thriving and Surviving in the Aftermath of Traditio...
Master of None Boot Camp: Thriving and Surviving in the Aftermath of Traditio...Master of None Boot Camp: Thriving and Surviving in the Aftermath of Traditio...
Master of None Boot Camp: Thriving and Surviving in the Aftermath of Traditio...
 

Similar to High Performance WordPress - WordCamp Jerusalem 2010

Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Joseph Scott
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
Rayed Alrashed
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x Apps
Juan Basso
 
Word press sites maintenanace
Word press sites maintenanaceWord press sites maintenanace
Word press sites maintenanace
Michelle Castillo
 
Netapp Michael Galpin
Netapp Michael GalpinNetapp Michael Galpin
Netapp Michael Galpin
rajivmordani
 

Similar to High Performance WordPress - WordCamp Jerusalem 2010 (20)

Rapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoop
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Joomla Extreme Performance
Joomla Extreme PerformanceJoomla Extreme Performance
Joomla Extreme Performance
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?
 
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
 
High Performance Website with LAMPP technology
High Performance Website with LAMPP technologyHigh Performance Website with LAMPP technology
High Performance Website with LAMPP technology
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
A Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingA Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load Testing
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x Apps
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
 
Performance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For SpeedPerformance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For Speed
 
High Performance Wordpress: “Faster, Cheaper, Easier : Pick Three”
High Performance Wordpress: “Faster, Cheaper, Easier : Pick Three”High Performance Wordpress: “Faster, Cheaper, Easier : Pick Three”
High Performance Wordpress: “Faster, Cheaper, Easier : Pick Three”
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
 
Word press sites maintenanace
Word press sites maintenanaceWord press sites maintenanace
Word press sites maintenanace
 
WordPress Performance 101
WordPress Performance 101WordPress Performance 101
WordPress Performance 101
 
Fast Websites: The What, Why, and How
Fast Websites: The What, Why, and HowFast Websites: The What, Why, and How
Fast Websites: The What, Why, and How
 
Netapp Michael Galpin
Netapp Michael GalpinNetapp Michael Galpin
Netapp Michael Galpin
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

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...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
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...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

High Performance WordPress - WordCamp Jerusalem 2010

Editor's Notes

  1. Serving lots of viruses quickly is not the kind of performance we want!
  2. Serving lots of viruses quickly is not the kind of performance we want!
  3. Talk about most common scaling problem. Database connection errors.