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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ben Everard
May 30, 2013
Technology
40
1
Share
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
More Decks by Ben Everard
See All by Ben Everard
Shropgeek Rebellion: Web Performance Improvements In One Hour
beneverard
1
240
Points Brighton: Web Performance Improvements In One Hour
beneverard
1
810
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
290
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
190
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
1
120
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
340
R&D 祭 2024 UE5で絵コンテ・作画の制作支援ツールをつくる話
olmdrd
PRO
0
200
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
630
The Making of AI Chips
pfn
PRO
0
560
"スキルファースト"で作る、AIの自走環境
subroh0508
1
650
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
250
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
2.1k
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
330
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
180
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
RailsConf 2023
tenderlove
30
1.4k
The untapped power of vector embeddings
frankvandijk
2
1.7k
The agentic SEO stack - context over prompts
schlessera
0
780
Why Our Code Smells
bkeepers
PRO
340
58k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
Paper Plane (Part 1)
katiecoart
PRO
0
7.7k
Are puppies a ranking factor?
jonoalderson
1
3.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?