wordpress performance optimization - jeff matson - wordcamp milwaukee 2014

25
Stop eating resources and optimize your WordPress site Jeff Matson | @TheJeffMatson InMotion Hosting | @inmotionhosting

Upload: inmotion-hosting

Post on 02-Dec-2014

339 views

Category:

Technology


0 download

DESCRIPTION

Jeff Matson's presentation at WordCamp Milwaukee on optimizing your WordPress site for the best speed possible.

TRANSCRIPT

Page 1: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Stop eating resources and optimize your

WordPress siteJeff Matson | @TheJeffMatson

InMotion Hosting | @inmotionhosting

Page 2: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014
Page 3: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Why do I need to optimize it?

Page 4: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Your host won’t hate your site

Resource hogs =

Lightweight and efficient =

Page 5: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Happy Sysadmin

HappyServer

Happy Developer

Page 6: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Your visitors don’t want to waste their time with your slow site● People are impatient. Give them what they

want immediately.

● Not everyone has a fast internet connection. (shocking, I know)

Page 7: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Stop spending money on resources that you don’t need.● Heavy sites mean more server load.● More server load means bigger servers.● Bigger servers mean more money.● More money means a smaller wallet.

Page 8: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

So how do I fix these problems?

Page 9: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Remove unnecessary garbage

● Do you really need that cool effect that nobody actually cares about?

● That slider really doesn’t need 64 slides in it. (really, this has happened to me)

● Stop calling 6 different versions of jQuery. Seriously, STOP!

Page 10: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Give your images the shrink ray● Compress your images as much as you

possibly can.● Use the exact size image that you are

displaying if possible.● Use progressive JPEGs.

Page 11: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Minify all the things!

● Minify your CSS and JS.

● Combine your stylesheets and JS.

Page 12: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Caching, caching, caching

● Cache everything that you possibly can.● Both server side and client side caching.● Varnish is your friend.● Browsers cache data for a reason. Tell them

to keep static content.

Page 13: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Block requests that don’t matter

● If they don’t impact your site positively, don’t let them use your resources.

Page 14: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

CDNs are a wonderful thing

● Let servers that are designed for serving static content do the work for you.

● Your users will get the static content faster while a weight is lifted from your server.

Page 15: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Real-world example time!

Page 16: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Testing environment:

● Twenty Fourteen theme● Default JetPack install● 5 posts with large featured images● 5 paragraphs of text per post

Page 17: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Baseline Stats

● Server load begins increasing almost immediately.

● >5s page load time at ~17 active clients.

● 1.4 minute load time at 50 active clients.

Page 18: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

With basic disk caching enabled:

● >5s page load time at ~20 active clients.● 1.3 minute load time at 50 active clients.

Page 19: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

With basic caching and image optimization

● Page load times rise slightly slower than with just caching alone.

● 1.2 minute load time at 50 active clients.

Page 20: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Disk caching and MaxCDN

● >5s page load time at ~30 active clients.● 28.78 seconds load time at 50 active clients.

Page 21: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Basic disk caching on an SSD

● Page load times stayed at between 1.5 seconds and 2 seconds.

● Never increased above 2 seconds with 50 active visitors.

Page 22: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Varnish caching and MaxCDN

● Page load time was always under 1 second.● Most times, stayed 25ms.● First errors came at 322 hits/second.

Page 23: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Why did Varnish work so well?

The server was under a much lower load as it was only serving static content once the cache for the page is built.

Processing PHP takes server resources. Be nice to your server and give it less work to do.

Page 24: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

What have we learned?

● Varnish is your friend.● If you can’t use Varnish, cache with W3 Total

Cache and use a CDN.● Every little bit of extra processing will hurt

your site.

Page 25: WordPress Performance Optimization - Jeff Matson - WordCamp Milwaukee 2014

Questions?

Jeff Matson | InMotion Hosting@TheJeffMatson | @inmotionhosting