Your visitors don’t want to waste
their time with your slow site
● People are impatient. Give them what they
● 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.
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
● 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.
● Twenty Fourteen theme
● Default JetPack install
● 5 posts with large featured images
● 5 paragraphs of text per post
● Server load begins
● >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
● Page load times rise
slightly slower than
with just caching
● 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
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
Jeff Matson | InMotion Hosting
@TheJeffMatson | @inmotionhosting