Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dev.Ocean #3: Web Performance Improvements In O...
Search
Ben Everard
May 30, 2013
Technology
1
36
Dev.Ocean #3: Web Performance Improvements In One Hour
My second speaking gig at Dev.Ocean #3. A slight evolution of my Points Brighton talk.
Ben Everard
May 30, 2013
Tweet
Share
More Decks by Ben Everard
See All by Ben Everard
Shropgeek Rebellion: Web Performance Improvements In One Hour
beneverard
1
210
Points Brighton: Web Performance Improvements In One Hour
beneverard
1
710
Other Decks in Technology
See All in Technology
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
180
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
460
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
「経験の点」の位置を意識したキャリア形成 / Career development with an awareness of the “point of experience” position
pauli
4
100
Mastraに入門してみた ~AWS CDKを添えて~
tsukuboshi
0
280
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
760
エンジニアリングで組織のアウトカムを最速で最大化する!
ham0215
1
130
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
200
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
6
550
AIエージェント開発手法と業務導入のプラクティス
ykosaka
5
1.5k
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
170
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
It's Worth the Effort
3n
184
28k
Documentation Writing (for coders)
carmenintech
69
4.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
670
For a Future-Friendly Web
brad_frost
176
9.7k
Become a Pro
speakerdeck
PRO
27
5.3k
Producing Creativity
orderedlist
PRO
344
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Building Applications with DynamoDB
mza
94
6.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
Music & Morning Musume
bryan
47
6.5k
Transcript
Ben Everard Web performance improvements you can make in one
hour §
J’adore le web
Pre-talk shout-outs... Andy Davies http://andydavies.me Steve Souders http://www.stevesouders.com/
Why is performance so important?
“If an e-commerce site is making $100,000 per day, a
1 second page delay could potentially cost $2.5 million in lost sales every year.” http://blog.kissmetrics.com/loading-time/?wide=1
“Amazon found that it increased revenue by 1% for every
100 milliseconds of improvement” http://sites.google.com/site/glinden/Home/StanfordDataMining.2006-11-28.ppt
A real example...
Mobile Visit Exmoor site http://m.visit-exmoor.co.uk At Exmoor speeds... Weighs 2MB
• Destroyed my phone battery • Entire site loaded in 7.2 minutes • 30 seconds before anything is visible
Measuring...
Your toolbox... Google Page Speed Yahoo! YSlow Others... Chrome Dev
Tools Firebug WebPagetest Slowy App et al...
Lets get started...
1) Reduce requests
None
http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.html
TCP Segmentation
2) Reduce page weight
75% of page weight in these two images Mobile Visit
Exmoor site http://m.visit-exmoor.co.uk
Image optimisation
Minify assets
GZIP compression
<ifmodule mod_deflate.c> ! AddOutputFilterByType DEFLATE ! ! text/text ! !
text/html ! ! text/plain ! ! text/xml ! ! text/css ! ! application/x-javascript ! ! application/javascript </ifmodule> http://git.io/XTDjng
None
3) Caching
<IfModule mod_expires.c> ! ExpiresActive On ! ExpiresByType text/css "access plus
1 year" ! ExpiresByType application/javascript "access plus 1 year" ! ExpiresByType text/javascript "access plus 1 year" ! ExpiresByType text/html "access plus 1 hour" ! ExpiresByType text/richtext "access plus 1 hour" ! ExpiresByType text/plain "access plus 1 hour" ! ExpiresByType text/xml "access plus 1 hour" ! ExpiresByType image/gif "access plus 1 year" ! ExpiresByType image/jpeg "access plus 1 year" ! ExpiresByType image/png "access plus 1 year" ! ExpiresByType image/x-icon "access plus 1 year" </IfModule> http://git.io/XTDjng
Cache busting!
http://domain.com/screen.css?v=2
4) Loading assets
CSS at the top Within the <head> element
JavaScript at the bottom Just before closing </body> tag
http://davidwalsh.name/html5-async
5) Use a CDN
maxcdn.com
1) Reduce requests 2) Reduce page weight 3) Be explicit
with caching 4) Loading assets 5) Use a CDN What have we learnt?
1) Find and fix issues on your own site 2)
Tell your friends 3) Drink beer What next?
Cheers! Ben Everard ilmv beneverard.co.uk hello@beneverard.co.uk ✉
Questions?