Intechnica recently hosted an event called Faster Websites – aimed at discussing with retailers some of the means and methods that can be adopted in improve performance of their online presence. As part of the preparation for this event we evaluated the websites of the potential attendees as well as the top 50 leading retail sites in the UK.
As would be expected there was a wide range of results from the very fast to the quite slow. So how could these slow websites become faster? Are there any quick fixes to be made?
I had a look into the performance of some of the slower sites to see if there were any quick wins that I could propose to improve their speed. I did a very limited investigation using WebPageTest under normal traffic conditions (as far as I know) and came up with the following observations.
Slowness was caused by client side, not server side, issues – None of the sites spent more than 0.5 seconds waiting for a server response, indicating that the server is not struggling to return content. This is as would be expected for a site homepage that is not under load.
In the examples I tested this was illustrated in how long the startup event was taking for some pages. In one example this took over 1.5 seconds. This illustrates a page that is far too complex and needs rationalising.
3rd party scripts causing performance issues – There were a couple of sites that were slowed down in their load time by waiting for responses from 3rd parties for content (e.g. from Facebook). In one case this was causing a 12 second delay.
As a site owner you really can’t let your performance be in the hands of 3rd party content. You must aim to make all these calls asynchronous after page load if possible.
Part of any performance assessment should include poor performance of these elements. Overall the impression that I got was that effort on these systems was still mainly focussed on providing server side performance, and the state of the client side was being generally ignored beyond following standard good practice. A more considered approach could easily (days not months of effort) speed these pages up dramatically.
Andy Still (LinkedIn) has over a decade of experience in IT, Andy specialises in application architecture for cloud infrastructures and has a track record of developing highly complex applications for large volumes of users and data, including systems capable of processing over 100,000 transactions in under a minute. Andy has spoken at several events across the UK on topics ranging from Agile to Performance by Design, including the London Web Performance Group and BCS SIGiST. In 2006, Andy co-founded Intechnica, where he is Technical Director.
As part of the team at Intechnica Andy works closely with customers on engineering applications for scalability and high performance. This article was previously published at Performance By Design and has been reproduced at Practical Performance Analyst with prior permission. PerformanceByDesign is an online initiative owned by Intechnica a digital consultancy specializing in performance assurance, cloud services and the development of business critical web and mobile applications. Intechnica provides services that helps customers with Custom Application Development, Performance Engineering of Large Systems and Architecture/Design/Build of Cloud Solutions.