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
33
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
190
Points Brighton: Web Performance Improvements In One Hour
beneverard
1
670
Other Decks in Technology
See All in Technology
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
The Rise of LLMOps
asei
7
1.4k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Optimizing for Happiness
mojombo
376
70k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
RailsConf 2023
tenderlove
29
900
Fireside Chat
paigeccino
34
3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
A Tale of Four Properties
chriscoyier
156
23k
Six Lessons from altMBA
skipperchong
27
3.5k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
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
[email protected]
✉
Questions?