WordCamp Milwaukee - Stop eating resources and optimize your WordPress site

Post on 23-Aug-2014

116 views 2 download

Tags:

description

How to optimize your WordPress site

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

Stop eating resources and optimize your

WordPress siteJeff Matson | @TheJeffMatson

InMotion Hosting | @inmotionhosting

Why do I need to optimize it?

Your host won’t hate your site

Resource hogs =

Lightweight and efficient =

Happy Sysadmin

HappyServer

Happy Developer

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)

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.

So how do I fix these problems?

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!

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.

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

● Combine your stylesheets and JS.

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.

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

let them use your resources.

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.

Real-world example time!

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

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.

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

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.

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

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.

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

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.

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.

Questions?

Jeff Matson | InMotion Hosting@TheJeffMatson | @inmotionhosting