Why website performance matters

There is no doubt that people get frustrated when websites are slow - you only have to search Twitter for 'slow website' to see common culprits and the level of annoyance they create. So people get angry, that's pretty obvious but what's the knock-on effect?

When people think back to events or experiences, the significant elements they remember are initial impressions, any peaks or troughs in their enjoyment and the last impression - so regardless of what reputation you have built with someone, the latest visit to your website is still very important. Recently, some neurological studies have been conducted on the effects of slow websites on visitors - they found that visitors will experience high stress levels - do you really want to imprint that as a memory on your visitors?

The web is all about convenience, if your website is removing that benefit by making people wait, it's usually more easy for people to go elsewhere than stick around, studies have illustrated that a one-second slow-down on a website will decrease customer satisfaction by 16%, that's right - a single second makes that big of a difference!

Effects on e-commerce can be even more damaging than diminishing brand reputation - Amazon found that slowing down their website by one tenth of a second lost 1% in sales!

So what can we do?

You'll be pleased to hear, on the whole, a large budget is not a requirement for a fast website. For starters - 'knowing is half the battle', so running tests and monitoring your website are key.

Hosting can be a limiting factor in website speed, but for most websites this shouldn't be an issue. With each file request over the internet, there is an overhead, this is the main source of problems with website performance because websites are typically composed of tens or hundreds of separate small files - so it's actually the way in which websites are often built that causes the biggest headaches. To identify problems with the front-end architecture of a website, you can run a Slowcop or Zoompf report for free.

Next up, we need the back-end code to be optimised, unfortunately this is going to get technical. Running slow sections of code can not only cause a noticeable delay for a particular user, but increase the wait for other visitors in the queue. Tools available for monitoring are generally going to be specific to the setup, but NewRelic and Scout can support most environments. These will indicate the slowest sections of a website, and outline where problems are lurking so developers can fix them.

In terms of fixing slow sections of code, it's going to get a little technical. The techniques to investigate here are caching (storing the outcome of slow code for a certain period of time rather than running it for every request), background processing (running code asynchronously so the response can be sent immediately) and using AJAX to load in data separately from the main request - so the visitor at least sees something immediately. There are plenty of other techniques, but that's just a few to get started.

Once you've got a nice high-performance website, you need to keep an eye on the next link in the chain - the hosting infrastructure. This time there is an automated tool called Pingdom which can be used to monitor response time of your website from all over the world. If you're seeing slow response times (more than 200ms), then you should consider contacting your host to discuss any issues they might be having or investing in a better hosting provider.

If that all sounds a bit complicated…

That's why we're here, feel free to get in touch if you think your website or web application could do with a kick up the back-side.

Website loading timeline - Webkit Inspector