SlideShare ist ein Scribd-Unternehmen logo
1 von 24
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
Different caches in WordPress core
Object Cache
wp_cache_get/wp_cache_set/wp_cache_delete
Backing onto a object cache library (memcached, Redis, APCu…)
Transcient Data
set_transient/get_transient/delete_transient
Saving data into database that is available to all instances
Both stores have a concept of timeout and developer-managed hit/miss management
Object Cache - Efficiency vs
Coherency
Efficiency:
reduce number of calls to your cache (or do a multi-get/set)
avoid remote cache if possible
Coherency
clustered cache allows for easier cache invalidation
Understand how cache works - cache makes debugging harder
Reduce and increase reuse
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 JS and CSS file for whole
site where possible
Personalization with AJAX
Profile your application
Analyze your application with a PHP profiler such as BlackFire 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
Modify my.cnf to add general-log
and start seeing all database
queries per page
Reduce plugins or modify code if
possible to reduce queries
Try to “explain” your query
PSA: Signs of hacking
Check integrity of site and your VPS with tools such as wp-cli, or findbot.pl
Profiler showing high number of file operations
Seeing pharma or other links injected in header/footer
Operational Improvements
Improvements you can make outside WordPress
Make it faster by paying more money!
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
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
Credit: Digital Ocean
HTTP changes
Content compression
Expiry headers for content type
Cache directive
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
Plugins: WordFence / Better WP
Security
Spam Protection: Akismet
PHP: suhosin
Server: mod_security
*not an exhaustive list or endorsement
Push vs Pull CDN
Push
CDN
Pull
CDN
CDN Data Store CDN Cache
Your Webserver
(origin)
cache miss
content push
Monitor your site
Application Performance
Monitor (eg. New Relic)
Server Monitoring (eg.
LongView, CloudWatch)
Last mile / Page Health
(eg. Kingdom)
Site Audits
Let’s look at a few sites together
Thanks!
Twitter: @alan_lok
Web: http://wlx.ca

Weitere ähnliche Inhalte

Was ist angesagt?

High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPressBarry Abrahamson
 
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
 
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
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPressJosh Highland Giese
 
WordPress Speed Optimization
WordPress Speed OptimizationWordPress Speed Optimization
WordPress Speed OptimizationDinesh Jain
 
Html5 Offline Applications
Html5 Offline Applications Html5 Offline Applications
Html5 Offline Applications Sunny Sharma
 
Advantages of cPanel-based LiteSpeed Hosting
Advantages of cPanel-based LiteSpeed HostingAdvantages of cPanel-based LiteSpeed Hosting
Advantages of cPanel-based LiteSpeed HostingLisa Clarke
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Niels de Bruijn
 
HTML5 Offline Web Application
HTML5 Offline Web ApplicationHTML5 Offline Web Application
HTML5 Offline Web ApplicationAllan Huang
 
Improving Drupal Performances
Improving Drupal PerformancesImproving Drupal Performances
Improving Drupal PerformancesVladimir Ilic
 
Debugging WordPress Performance using EasyEngine
Debugging WordPress Performance using EasyEngineDebugging WordPress Performance using EasyEngine
Debugging WordPress Performance using EasyEnginertCamp
 
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)robinzimmermann
 
Implementing High Performance Drupal Sites
Implementing High Performance Drupal SitesImplementing High Performance Drupal Sites
Implementing High Performance Drupal SitesShri Kumar
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
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 PerormanceSpark::red
 
RESTful Web services in Drupal 8
RESTful Web services in Drupal 8RESTful Web services in Drupal 8
RESTful Web services in Drupal 8valuebound
 
Here Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressHere Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressRami Sayar
 
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkWilliam Earnhardt
 

Was ist angesagt? (20)

High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPress
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
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)
 
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
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
WordPress Speed Optimization
WordPress Speed OptimizationWordPress Speed Optimization
WordPress Speed Optimization
 
Html5 Offline Applications
Html5 Offline Applications Html5 Offline Applications
Html5 Offline Applications
 
Advantages of cPanel-based LiteSpeed Hosting
Advantages of cPanel-based LiteSpeed HostingAdvantages of cPanel-based LiteSpeed Hosting
Advantages of cPanel-based LiteSpeed Hosting
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
 
HTML5 Offline Web Application
HTML5 Offline Web ApplicationHTML5 Offline Web Application
HTML5 Offline Web Application
 
Improving Drupal Performances
Improving Drupal PerformancesImproving Drupal Performances
Improving Drupal Performances
 
Debugging WordPress Performance using EasyEngine
Debugging WordPress Performance using EasyEngineDebugging WordPress Performance using EasyEngine
Debugging WordPress Performance using EasyEngine
 
HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)HTML5 Offline Web Applications (Silicon Valley User Group)
HTML5 Offline Web Applications (Silicon Valley User Group)
 
Implementing High Performance Drupal Sites
Implementing High Performance Drupal SitesImplementing High Performance Drupal Sites
Implementing High Performance Drupal Sites
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
The RDBMS You Should Be Using
The RDBMS You Should Be UsingThe RDBMS You Should Be Using
The RDBMS You Should Be Using
 
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
 
RESTful Web services in Drupal 8
RESTful Web services in Drupal 8RESTful Web services in Drupal 8
RESTful Web services in Drupal 8
 
Here Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPressHere Be Dragons - Debugging WordPress
Here Be Dragons - Debugging WordPress
 
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large Network
 

Ähnlich wie Speeding up your WordPress site - WordCamp Hamilton 2015

Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh Holmes
 
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
 
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday Copenhagen
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday CopenhagenWhat's new in SharePoint 2010 for Backup and Recovery - SP Saturday Copenhagen
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday CopenhagenIlia Sotnikov
 
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
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVEAlvar Lumberg
 
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
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group PresentationDaniel Kanchev
 
VMware vFabric Data Director for DB as a Service
VMware vFabric Data Director for DB as a ServiceVMware vFabric Data Director for DB as a Service
VMware vFabric Data Director for DB as a ServiceVMware vFabric
 
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
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performancedsero
 
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
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More CloudyMaarten Balliauw
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessStephen Thair
 

Ähnlich wie Speeding up your WordPress site - WordCamp Hamilton 2015 (20)

Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
 
Optimize wordpress
Optimize wordpressOptimize wordpress
Optimize wordpress
 
Caching 101
Caching 101Caching 101
Caching 101
 
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
 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday Copenhagen
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday CopenhagenWhat's new in SharePoint 2010 for Backup and Recovery - SP Saturday Copenhagen
What's new in SharePoint 2010 for Backup and Recovery - SP Saturday Copenhagen
 
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
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVE
 
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
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group Presentation
 
VMware vFabric Data Director for DB as a Service
VMware vFabric Data Director for DB as a ServiceVMware vFabric Data Director for DB as a Service
VMware vFabric Data Director for DB as a Service
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performance
 
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
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
Just Another Word Press Weblog But More Cloudy
Just Another Word Press Weblog   But More CloudyJust Another Word Press Weblog   But More Cloudy
Just Another Word Press Weblog But More Cloudy
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
 

Kürzlich hochgeladen

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Kürzlich hochgeladen (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

Speeding up your WordPress site - WordCamp Hamilton 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
  • 7. Different caches in WordPress core Object Cache wp_cache_get/wp_cache_set/wp_cache_delete Backing onto a object cache library (memcached, Redis, APCu…) Transcient Data set_transient/get_transient/delete_transient Saving data into database that is available to all instances Both stores have a concept of timeout and developer-managed hit/miss management
  • 8. Object Cache - Efficiency vs Coherency Efficiency: reduce number of calls to your cache (or do a multi-get/set) avoid remote cache if possible Coherency clustered cache allows for easier cache invalidation Understand how cache works - cache makes debugging harder
  • 9. Reduce and increase reuse 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 JS and CSS file for whole site where possible Personalization with AJAX
  • 10. Profile your application Analyze your application with a PHP profiler such as BlackFire or xdebug/ cachegrind Look for high number of apply_filters, mysql calls, and wp_cache_get
  • 11. Profile your DOM Make your page render faster too
  • 12. Database Check your slow query log Modify my.cnf to add general-log and start seeing all database queries per page Reduce plugins or modify code if possible to reduce queries Try to “explain” your query
  • 13. PSA: Signs of hacking Check integrity of site and your VPS with tools such as wp-cli, or findbot.pl Profiler showing high number of file operations Seeing pharma or other links injected in header/footer
  • 14. Operational Improvements Improvements you can make outside WordPress
  • 15. Make it faster by paying more money! 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
  • 16. 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/
  • 17. Web Server Technology Web server technologies: nginx vs Apache PHP process management in Apache php-fpm vs mod_php 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 Credit: Digital Ocean
  • 18. HTTP changes Content compression Expiry headers for content type Cache directive
  • 19. 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
  • 20. Web Application Protection* SaaS: Sucuri / CloudFlare Plugins: WordFence / Better WP Security Spam Protection: Akismet PHP: suhosin Server: mod_security *not an exhaustive list or endorsement
  • 21. Push vs Pull CDN Push CDN Pull CDN CDN Data Store CDN Cache Your Webserver (origin) cache miss content push
  • 22. Monitor your site Application Performance Monitor (eg. New Relic) Server Monitoring (eg. LongView, CloudWatch) Last mile / Page Health (eg. Kingdom)
  • 23. Site Audits Let’s look at a few sites together