WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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

description

How to optimize your WordPress site

Transcript of WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Page 1: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Stop eating resources and optimize your

WordPress siteJeff Matson | @TheJeffMatson

InMotion Hosting | @inmotionhosting

Page 2: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site
Page 3: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Why do I need to optimize it?

Page 4: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Your host won’t hate your site

Resource hogs =

Lightweight and efficient =

Page 5: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Happy Sysadmin

HappyServer

Happy Developer

Page 6: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

So how do I fix these problems?

Page 9: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Minify all the things!● Minify your CSS and JS.

● Combine your stylesheets and JS.

Page 12: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Block requests that don’t matter● If they don’t impact your site positively, don’t

let them use your resources.

Page 14: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Real-world example time!

Page 16: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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

Page 17: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

With basic disk caching enabled:● >5s page load time at ~20 active clients.● 1.3 minute load time at 50 active clients.

Page 19: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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

Page 21: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

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: WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Questions?

Jeff Matson | InMotion Hosting@TheJeffMatson | @inmotionhosting