SlideShare a Scribd company logo
1 of 82
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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

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.