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
37
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
220
Points Brighton: Web Performance Improvements In One Hour
beneverard
1
730
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
ガチな登山用デバイスからこんにちは
halka
1
240
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
230
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
190
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
100
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
130
Language Update: Java
skrb
2
290
AWSで始める実践Dagster入門
kitagawaz
1
600
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
700
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
160
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
The Pragmatic Product Professional
lauravandoore
36
6.9k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Speed Design
sergeychernyshev
32
1.1k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Become a Pro
speakerdeck
PRO
29
5.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
[email protected]
✉
Questions?