Deri Jones
Making your website fast - and scalable
Jan 14 2015 #Digibury@Digibury
@SciVisum_Ltd
Website Speed
● Black Friday and Xmas peaks
The Need for Speed
● Impatience ● SEO
The Need for Speed
● Impatience ● SEO ● UX is the final USP
YourUX
Your offering
What makes sites slow ?
Network effects ●ADSL 3G 4G
Latency targets● Backbone best:
● Local: − ADSL 25 mS − Mobile 250 mS
Network effects ●Bulky: Images ●Too many objects ●Not using HTTP Keep alive
Firebug / devTools
Browser effects ●Objects block ●Rendering time
3rd party scripts
The offender: ●<script src="http://3rdparty.com/script.js"></script>
Old solution
These days<script async defer src="siteScript.js" onload="myInit()"></script>
These days:
Browser effects ●Objects block ●Rendering time ●3rd party blocking
Ad serving is slowAnd no political motive to be faster Will get slower as big-Data progresses
Responsive webAvoid the Whitehouse.org story...
Can be good: ●Painless install ●Many configuration choices
Can be tricky: ●Embedded CSS obsession
Tools
● Firebug, DevTools ● HTTPArchive.org ● Webpagetest.org
Designers vs Speeders
Challenges
● Responsive web: − Better than 2 sites www. and m.
Surprising lessons
● Cloud auto-scaling – doesn't work
Surprising lessons
Cloud auto-scaling – doesn't work − Scales too late − Allows rest of farm to die − Small print: − Strictly 'very often' doesn't work
Surpising lessons
● Cloud auto-scaling – doesn't work − Scales too late − Allows rest of farm to die
● Cloud auto-scaling
● Uncertain spin-up time ● DOA
● Scaling
● Don't obsess Disk IO − Yes it's moving metal − Web is a lot about static content
● Scaling
● The code platforms are good ● Many problems in SysAdmin configs ● CDNs
− Cache-Miss hurts
● But don't assume!
● Scaling
● Many big hosters: − Not motivated to help you
Users' Experience
It's both: ●The new battleground ●A challenge
− Single Page website − Offline-cache content − Users' journeys complexity
User Experience
● Cultural shift − Make every one responsible for it!
● Performance is a deliverable − Test every release − Continuous Integration
User Experience
● Hard ● Easier to save timings in your code
− ElasticSearch, Graphite ● RUM and Analytics help
User Experience
● 'Do what your Customers do' − more Synthetic monitoring − For another day ...
Making your website fast - and scalable
Deri Jones
Digibury January 2015
Resources● London Web performance meetup
− http://www.meetup.com/London-Web-Performance-Group
● Third Party Footprints
− http://www.slideshare.net/bbinto/third-party-footprint-evaluating-the-performance-of-external-scripts
● HTTP Archive
− https://speakerdeck.com/deanohume/the-good-the-bad-and-the-ugly-of-the-http-archive