SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Speed up your WordPress site
Alan Lok
WirelessLinx Inc.
Motivations
User experience1
Search engine optimization2
Your wallet
Less on-call issues!
1: http://www.webperformancetoday.com/2012/02/28/4-awesome-slides-showing-how-page-speed-correlates-to-business-metrics-at-walmart-com/
2: http://googlewebmastercentral.blogspot.ca/2010/04/using-site-speed-in-web-search-ranking.html
What is a LAMP stack
Database PHP Engine
Your app
Operating System
Web Server
Performance gains can be found in each layer
Reverse Proxy
Cache
Internal Tune-ups
Digging into your WordPress site to make it better
The simple stuff
Update your plugins
Remove unused themes and plugins
404 errors
WordPress plugins to speed things up
W3 Total Cache
Super Cache
Zen Cache
Reduce
Images,
JS,CSS
Reuse
Code
(CSS,JS,
HTML,PHP)
Refactor
HTTP Response
Content Body
Profile your application
Analyze your application with a PHP profiler such as BlackFire.io or xdebug/
cachegrind
Look for high number of apply_filters, mysql calls, and wp_cache_get
Profile your DOM
Make your page render faster too
Database
Check your slow query log
Debug: log your database queries
Try to “explain” your query
Trim un-needed data (comments,
deleted posts, etc…)
Have you been hacked?
Hacked instances are typically slower because of additional JS/PHP
payload
Check your installation / hosting environment
Some command line tools: wp-cli, findbot.pl
Online tools: https://sitecheck.sucuri.net/ and Google Webmaster Tools
Operational Improvements
Improvements you can make outside WordPress
You get what you pay for
There is no such thing as
“unlimited” hosting or space
Ensure you are paying for the
level of performance you expect
given the traffic estimates
Diminishing returns on
performance when buying more
resources
Database
MySQL versions and variations
(MariaDB, Percona, Community)
DB Engine: Convert tables from
MyISAM to InnoDB
Some* my.cnf tuning
InnoDB buffer size, Query Caching
HyperDB for database splitting*
Some performance references:
http://www.liquidweb.com/kb/mysql-5-1-vs-5-5-vs-5-6-performance-comparison/
https://www.percona.com/blog/2011/10/10/mysql-versions-shootout/
http://vbtechsupport.com/657/
Web Server Technology
Web server technologies:
nginx vs Apache
PHP process management in Apache
php-fpm vs mod_php vs hhvm
prefork, vs worker/event
mod_pagespeed, php-opcache
When does it matter?
More food for thought:
http://blog.bitnami.com/2014/06/performance-enhacements-for-apache-and.html
https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations
http://hhvm.com/blog/9293/lockdown-results-and-hhvm-performance
Credit: Digital Ocean
HTTP changes
Content compression
Expiry headers for content type
Cache directive
References:

https://tools.ietf.org/html/rfc7234

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en
Content Delivery
Reducing number of access to
your web server will reduce your
costs (bandwidth and CPU needs)
Consider using public CDN for
shared JS/CSS
Pay for a cheap CDN and use a
plugin to rewrite your assets to
the CDN
Web Application Protection*
SaaS: Sucuri / CloudFlare /
Incapsula / Akamai
Plugins: WordFence / Better WP
Security
Spam Protection: Akismet
PHP: suhosin
Server: mod_security
*not an exhaustive list or endorsement
Monitor your site
Application Performance
Monitor (eg. New Relic,
AppDynamics)
Server Monitoring (eg.
LongView, CloudWatch,
DataDog)
Last mile / Page Health
(eg. Pingdom, New Relic
Synthetics, Gomez)
Thanks!
Twitter: @alan_lok
Web: http://wlx.ca
Slideshare: www.slideshare.net/alanlok1

Weitere ähnliche Inhalte

Was ist angesagt?

WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a ServiceAndrew Bauer
 
Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)Ben Metcalfe
 
Installing wordpress
Installing wordpressInstalling wordpress
Installing wordpressDave Wallace
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010Barry Abrahamson
 
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 NginxrtCamp
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentDave Wallace
 
Anatomy of a Wordpress theme
Anatomy of a Wordpress themeAnatomy of a Wordpress theme
Anatomy of a Wordpress themeDave Wallace
 
ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007Barry Abrahamson
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPressBarry Abrahamson
 
Creating Local WordPress Installs
Creating Local WordPress InstallsCreating Local WordPress Installs
Creating Local WordPress Installsmcgaritydotme
 
Saving Time with WP-CLI
Saving Time with WP-CLISaving Time with WP-CLI
Saving Time with WP-CLITaylor Lovett
 
Speeding Up WordPress sites
Speeding Up WordPress sitesSpeeding Up WordPress sites
Speeding Up WordPress sitesJason Yingling
 
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)Andrew Duthie
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceJoomlaDay Australia
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPressvnsavage
 

Was ist angesagt? (20)

Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 
Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)Optimizing WordPress (WordCamp Philly 2011)
Optimizing WordPress (WordCamp Philly 2011)
 
Caching 101
Caching 101Caching 101
Caching 101
 
Installing wordpress
Installing wordpressInstalling wordpress
Installing wordpress
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010
 
The WordPress Way
The WordPress WayThe WordPress Way
The WordPress Way
 
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
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
 
Anatomy of a Wordpress theme
Anatomy of a Wordpress themeAnatomy of a Wordpress theme
Anatomy of a Wordpress theme
 
ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPress
 
Creating Local WordPress Installs
Creating Local WordPress InstallsCreating Local WordPress Installs
Creating Local WordPress Installs
 
Optimize wordpress
Optimize wordpressOptimize wordpress
Optimize wordpress
 
Saving Time with WP-CLI
Saving Time with WP-CLISaving Time with WP-CLI
Saving Time with WP-CLI
 
Speeding Up WordPress sites
Speeding Up WordPress sitesSpeeding Up WordPress sites
Speeding Up WordPress sites
 
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)
Launching a WordPress Site 101 (Cincinnati WordPress, August 2015)
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate Performance
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPress
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
 

Andere mochten auch

Systematic Unit Testing
Systematic Unit TestingSystematic Unit Testing
Systematic Unit Testingscotchfield
 
Building and Maintaining A Remote Workforce - A Startup Story
Building and Maintaining A Remote Workforce - A Startup StoryBuilding and Maintaining A Remote Workforce - A Startup Story
Building and Maintaining A Remote Workforce - A Startup StorySucuri
 
WordCamp Toronto 2015- API Simple Talk
WordCamp Toronto 2015- API Simple TalkWordCamp Toronto 2015- API Simple Talk
WordCamp Toronto 2015- API Simple Talkting-y
 
You have 2 hands Toronto
You have 2 hands TorontoYou have 2 hands Toronto
You have 2 hands TorontoShayda Torabi
 
How I Made a Career Using WordPress Without Knowing a Line of Code
How I Made a Career Using WordPress Without Knowing a Line of CodeHow I Made a Career Using WordPress Without Knowing a Line of Code
How I Made a Career Using WordPress Without Knowing a Line of CodeAndrea Zoellner
 
Using Actions and Filters in WordPress to Make a Plugin Your Own
Using Actions and Filters in WordPress to Make a Plugin Your OwnUsing Actions and Filters in WordPress to Make a Plugin Your Own
Using Actions and Filters in WordPress to Make a Plugin Your OwnBrian Hogg
 
Community Consultation Creates Compelling Content
Community Consultation Creates Compelling Content  Community Consultation Creates Compelling Content
Community Consultation Creates Compelling Content Christine Pollock
 
A Noob's Journey to the Core
A Noob's Journey to the CoreA Noob's Journey to the Core
A Noob's Journey to the CoreRyan Welcher
 
Help Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress DeveloperHelp Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress Developerdaraskolnick
 
Writing Secure Code for WordPress
Writing Secure Code for WordPressWriting Secure Code for WordPress
Writing Secure Code for WordPressShawn Hooper
 
Best Friend || Worst Enemy: WordPress Multisite
Best Friend || Worst Enemy: WordPress MultisiteBest Friend || Worst Enemy: WordPress Multisite
Best Friend || Worst Enemy: WordPress MultisiteTaylor McCaslin
 
Delightful Design with the Kano Model (WordCamp Toronto 2015)
Delightful Design with the Kano Model (WordCamp Toronto 2015)Delightful Design with the Kano Model (WordCamp Toronto 2015)
Delightful Design with the Kano Model (WordCamp Toronto 2015)Jesse Emmanuel Rosario
 
How to use CSS3 in WordPress
How to use CSS3 in WordPressHow to use CSS3 in WordPress
How to use CSS3 in WordPressSuzette Franck
 
Multilingual content with WordPress
Multilingual content with WordPressMultilingual content with WordPress
Multilingual content with WordPressDesaulniers-Simard
 
Content Doesn't Grow on Trees - Intruduction to Content Strategy
Content Doesn't Grow on Trees - Intruduction to Content StrategyContent Doesn't Grow on Trees - Intruduction to Content Strategy
Content Doesn't Grow on Trees - Intruduction to Content StrategyJamie Schmid
 
Word press development for non developers
Word press development for non developers Word press development for non developers
Word press development for non developers Jessica C. Gardner
 

Andere mochten auch (20)

Systematic Unit Testing
Systematic Unit TestingSystematic Unit Testing
Systematic Unit Testing
 
Building and Maintaining A Remote Workforce - A Startup Story
Building and Maintaining A Remote Workforce - A Startup StoryBuilding and Maintaining A Remote Workforce - A Startup Story
Building and Maintaining A Remote Workforce - A Startup Story
 
WordCamp Toronto 2015- API Simple Talk
WordCamp Toronto 2015- API Simple TalkWordCamp Toronto 2015- API Simple Talk
WordCamp Toronto 2015- API Simple Talk
 
You have 2 hands Toronto
You have 2 hands TorontoYou have 2 hands Toronto
You have 2 hands Toronto
 
Wordcamp_mcglade_ux_mashups
Wordcamp_mcglade_ux_mashupsWordcamp_mcglade_ux_mashups
Wordcamp_mcglade_ux_mashups
 
How I Made a Career Using WordPress Without Knowing a Line of Code
How I Made a Career Using WordPress Without Knowing a Line of CodeHow I Made a Career Using WordPress Without Knowing a Line of Code
How I Made a Career Using WordPress Without Knowing a Line of Code
 
Using Actions and Filters in WordPress to Make a Plugin Your Own
Using Actions and Filters in WordPress to Make a Plugin Your OwnUsing Actions and Filters in WordPress to Make a Plugin Your Own
Using Actions and Filters in WordPress to Make a Plugin Your Own
 
Ecomm 101
Ecomm 101Ecomm 101
Ecomm 101
 
Community Consultation Creates Compelling Content
Community Consultation Creates Compelling Content  Community Consultation Creates Compelling Content
Community Consultation Creates Compelling Content
 
A Noob's Journey to the Core
A Noob's Journey to the CoreA Noob's Journey to the Core
A Noob's Journey to the Core
 
Mystery solved pages vs posts
Mystery solved pages vs postsMystery solved pages vs posts
Mystery solved pages vs posts
 
Help Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress DeveloperHelp Me Help You: Practical Tips for Designers from A WordPress Developer
Help Me Help You: Practical Tips for Designers from A WordPress Developer
 
Writing Secure Code for WordPress
Writing Secure Code for WordPressWriting Secure Code for WordPress
Writing Secure Code for WordPress
 
Managed WordPress Demystified
Managed WordPress DemystifiedManaged WordPress Demystified
Managed WordPress Demystified
 
Best Friend || Worst Enemy: WordPress Multisite
Best Friend || Worst Enemy: WordPress MultisiteBest Friend || Worst Enemy: WordPress Multisite
Best Friend || Worst Enemy: WordPress Multisite
 
Delightful Design with the Kano Model (WordCamp Toronto 2015)
Delightful Design with the Kano Model (WordCamp Toronto 2015)Delightful Design with the Kano Model (WordCamp Toronto 2015)
Delightful Design with the Kano Model (WordCamp Toronto 2015)
 
How to use CSS3 in WordPress
How to use CSS3 in WordPressHow to use CSS3 in WordPress
How to use CSS3 in WordPress
 
Multilingual content with WordPress
Multilingual content with WordPressMultilingual content with WordPress
Multilingual content with WordPress
 
Content Doesn't Grow on Trees - Intruduction to Content Strategy
Content Doesn't Grow on Trees - Intruduction to Content StrategyContent Doesn't Grow on Trees - Intruduction to Content Strategy
Content Doesn't Grow on Trees - Intruduction to Content Strategy
 
Word press development for non developers
Word press development for non developers Word press development for non developers
Word press development for non developers
 

Ähnlich wie Speeding up your WordPress Site - WordCamp Toronto 2015

Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh Holmes
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessStephen Thair
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!Brian Culver
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalJoel Oleson
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida realPHP Conference Argentina
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQLGanesh Kamath
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPressJosh Highland Giese
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group PresentationDaniel Kanchev
 
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 speedAndy Kucharski
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008jorke
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performancedsero
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHPJonathan Klein
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonChris Olbekson
 
3 Hacks to Improve WordPress Performance
3 Hacks to Improve WordPress Performance3 Hacks to Improve WordPress Performance
3 Hacks to Improve WordPress PerformanceRF Studio
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsJuan Basso
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentSPC Adriatics
 
A Managed Platform Will Change Your Business
A Managed Platform Will Change Your BusinessA Managed Platform Will Change Your Business
A Managed Platform Will Change Your BusinessWP Engine
 

Ähnlich wie Speeding up your WordPress Site - WordCamp Toronto 2015 (20)

Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group Presentation
 
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
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performance
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp Houston
 
3 Hacks to Improve WordPress Performance
3 Hacks to Improve WordPress Performance3 Hacks to Improve WordPress Performance
3 Hacks to Improve WordPress Performance
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Optimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x AppsOptimizing CakePHP 2.x Apps
Optimizing CakePHP 2.x Apps
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
A Managed Platform Will Change Your Business
A Managed Platform Will Change Your BusinessA Managed Platform Will Change Your Business
A Managed Platform Will Change Your Business
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Speeding up your WordPress Site - WordCamp Toronto 2015

  • 1. Speed up your WordPress site Alan Lok WirelessLinx Inc.
  • 2. Motivations User experience1 Search engine optimization2 Your wallet Less on-call issues! 1: http://www.webperformancetoday.com/2012/02/28/4-awesome-slides-showing-how-page-speed-correlates-to-business-metrics-at-walmart-com/ 2: http://googlewebmastercentral.blogspot.ca/2010/04/using-site-speed-in-web-search-ranking.html
  • 3. What is a LAMP stack Database PHP Engine Your app Operating System Web Server Performance gains can be found in each layer Reverse Proxy Cache
  • 4. Internal Tune-ups Digging into your WordPress site to make it better
  • 5. The simple stuff Update your plugins Remove unused themes and plugins 404 errors
  • 6. WordPress plugins to speed things up W3 Total Cache Super Cache Zen Cache
  • 8. Profile your application Analyze your application with a PHP profiler such as BlackFire.io or xdebug/ cachegrind Look for high number of apply_filters, mysql calls, and wp_cache_get
  • 9. Profile your DOM Make your page render faster too
  • 10. Database Check your slow query log Debug: log your database queries Try to “explain” your query Trim un-needed data (comments, deleted posts, etc…)
  • 11. Have you been hacked? Hacked instances are typically slower because of additional JS/PHP payload Check your installation / hosting environment Some command line tools: wp-cli, findbot.pl Online tools: https://sitecheck.sucuri.net/ and Google Webmaster Tools
  • 12. Operational Improvements Improvements you can make outside WordPress
  • 13. You get what you pay for There is no such thing as “unlimited” hosting or space Ensure you are paying for the level of performance you expect given the traffic estimates Diminishing returns on performance when buying more resources
  • 14. Database MySQL versions and variations (MariaDB, Percona, Community) DB Engine: Convert tables from MyISAM to InnoDB Some* my.cnf tuning InnoDB buffer size, Query Caching HyperDB for database splitting* Some performance references: http://www.liquidweb.com/kb/mysql-5-1-vs-5-5-vs-5-6-performance-comparison/ https://www.percona.com/blog/2011/10/10/mysql-versions-shootout/ http://vbtechsupport.com/657/
  • 15. Web Server Technology Web server technologies: nginx vs Apache PHP process management in Apache php-fpm vs mod_php vs hhvm prefork, vs worker/event mod_pagespeed, php-opcache When does it matter? More food for thought: http://blog.bitnami.com/2014/06/performance-enhacements-for-apache-and.html https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations http://hhvm.com/blog/9293/lockdown-results-and-hhvm-performance Credit: Digital Ocean
  • 16. HTTP changes Content compression Expiry headers for content type Cache directive References:
 https://tools.ietf.org/html/rfc7234
 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
 https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en
  • 17. Content Delivery Reducing number of access to your web server will reduce your costs (bandwidth and CPU needs) Consider using public CDN for shared JS/CSS Pay for a cheap CDN and use a plugin to rewrite your assets to the CDN
  • 18. Web Application Protection* SaaS: Sucuri / CloudFlare / Incapsula / Akamai Plugins: WordFence / Better WP Security Spam Protection: Akismet PHP: suhosin Server: mod_security *not an exhaustive list or endorsement
  • 19. Monitor your site Application Performance Monitor (eg. New Relic, AppDynamics) Server Monitoring (eg. LongView, CloudWatch, DataDog) Last mile / Page Health (eg. Pingdom, New Relic Synthetics, Gomez)

Hinweis der Redaktion

  1. You should care about speeding up your site: bounce rate and conversions can be positively influenced by a speedier page. Users are expecting things to appear instantly (say under 3 seconds). Anyway you can make the perceived response as quick to 1 second is very important. Google ranks a site based on response time. This is a known fact since 2010. Your wallet goes two ways: if your site takes a lot of computation resource to generate a page, you will be paying a lot of money to service your audience. A even more important factor - remember how I said conversion rates can be boosted with a faster site? Walmart grew incremental revenue by 1% for each 100ms improvement. Lastly, don’t you hate your site being down because you maxed out on resources or had a badly configured LAMP stack?
  2. Really, you can gain performance in any layer. Some are easier than others. Do what you can in each layer.
  3. There are simple stuff to make your site better Update your plugins. More often than not, when the author release a new plugin, it addresses issues that are security or performance related. Even if it doesn’t make the site faster, it will prevent bad things from happening. Of course, this also leads to the second point of removing unused themes and plugins. You know those twenty-fifteen themes and other good stuff? Remove them. The 15th plugin you tried that you didn’t like and have deactivated? Remove them. Keeping these files on the server, while deactivated, still exposes you to attacks. Not really a performance gain but it will protect you from further performance loss. 404 Errors are performance killers. Many users decide to install these 404 redirection plugins so that they can display pretty error pages. For legitimate purposes this is a great tool. However if you have assets that are missing, each of these pages will bring up the WP framework in order to show this pretty error page (that are likely not shown to the user as they are requesting an image). Worse, some 404 plugins won’t report 404 to the user, causing further issues.
  4. What do these plugins accomplish? Object cache DB cache Page cache CDN rewrite Do they work? Depends on your hosting provider, setup and dynamic nature of your site. Some providers such as WPEngine asks that you not to install these plugins.
  5. Lower number of HTTP requests If you can reduce the number of requests, it give the server more headroom to serve more traffic. TCP slowstart contributes to the slower nature of serving initial bytes, but it gets faster very quickly. Optimize your images, CSS, CSS sprites, JS minify, HTML comment removal. Every little bit counts. Lots of ways to optimize your images - from using lossless compression toolboxes like ImageOptim that combines a bunch of image optimizers into a GUI tool, CSS clean-up/optimize tools, JS minify, and also removing HTML comments. Saving bytes is big business. This also means serving images that are sized right for your audience, not the 4MB image you uploaded form your DSLR to the website that will be displayed in a postage stamp (and could have been resized to 21k) Personalize with AJAX is a good idea. This means the base page can be cached while dynamic portions of the page be updated just for you. Reduce: Lower number of HTTP requests Combine CSS/JS files or inline them Data URI CSS sprites Lower size of response HTML/JS/CSS minification Image optimization (eg. ImageOptim) Reuse Reuse JS and CSS file for whole site where possible
  6. Analyze your application with a PHP profiler. If you are not doing this regularly, you should be! No one says this is easy. Lots of free tools out there - xdebug with cachegrind client is a good first choice to see the number of calls and time taken. However I understand how it can be difficult to read at times. You can try Blackfire which has a good web tool, tree view, rudimentary analysis and profile deltas so you can see if your optimization has made an impact. Paid tools exists in the form of application performance management (APMs) such as New Relic. Some hints on profiling an app: memory usage, overall CPU time, number of external IO requests. Looking into the CPU time, look for calls that are highly used or calls that occupy high CPU cycles. Some quick ones to look through will be apply_filters, mysql calls and wp_cache_get.
  7. Checking your database calls are important. Profiler and general log can be used to see how many access are being done to generate a page. If you wrote the plugin or theme and accessing database, please be responsible and use as little database call as possible (or cache with transient). Note that transient are database calls too so use it wisely. Lastly, explain your queries if you are interacting with the database directly with various tables. Your custom tables may have been optimized at one point, but you might have been asked to do something that made the request unoptimized. Lack of indices or pulling too much data can cause the database to churn or send excess data.
  8. Signs of hacking, whether it is visible or not, can cause slowdowns. Checking for integrity of the site is not just good practice, but can keep the performance of the site up. Some hacks can cause high number of file operations that slow down the site, others can be making outbound traffic. Once a site is hacked, it has the potential of being harvested into a bot net that turn against other WordPress site (and increasing load). This is a public service announcement so that us site owners can do our part to prevent or close down these loopholes if or when it happens. Watch for pharma and other injected links, as well as increased file operations / abnormal network activities
  9. Please do everyone a favour and stop paying $2.99/month for an unlimited domain hosting account. There is no such thing as unlimited as you will quickly understand the performance penalty you are paying on this oversubscribed hosting box that has 3000 other clients on it. Also they will likely throttle you to number of PHP-related page responses. Conversely, do not buy a Ferrari just so you can drop your kids to school that is 300m away. There are diminishing returns where the users don’t feel it and you can’t get any faster.
  10. Public CDNs: Google Hosted Libraries, MaxCDN, CDNJS Paid CDN for content: MaxCDN, CloudFront, Azure CDN, Akamai, CloudFlare
  11. Name dropping a few things to look at. Not an exhaustive list
  12. Monitoring your site is important to understand the health of your site, not just for uptime, but changes to your code, hosting or the environment around the hosting. All of these are equally important but some are more expensive than others.