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
MCPに潜むセキュリティリスクを考えてみる
milix_m
1
760
新規事業におけるAIリサーチの活用例
ranxxx
0
150
地図と生成AI
nakasho
0
720
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
280
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
240
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
260
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
670
FAST導入1年間のふりかえり〜現実を直視し、さらなる進化を求めて〜 / Review of the first year of FAST implementation
wooootack
1
130
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.6k
With Devin -AIの自律とメンバーの自立
kotanin0
2
120
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
220
SAE J1939シミュレーション環境構築
daikiokazaki
0
160
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
370
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Raft: Consensus for Rubyists
vanstee
140
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The Invisible Side of Design
smashingmag
301
51k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Designing Experiences People Love
moore
142
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Producing Creativity
orderedlist
PRO
346
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
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?