SlideShare a Scribd company logo
1 of 34
Why Your Slow Loading
Website Is Costing You Sales
and How to Fix It
Joe Strommen
@strommen
joe@joestrommen.com
Introductions
• Software Engineer for 11 years
• 2 years ago – started caring about business
• Apr 2014, founded fasterweb.io
• On the backburner (for now) 
• Software Consulting
• Specializing in web performance
Today we’ll learn:
1. Why your website MUST be fast to be competitive
2. How a page is loaded by the browser
3. How to measure page speed
4. 5 simple ways to speed up YOUR website
5. HTTP/2
Fast Websites Make More Money #1
Speeding up the fundraising site
by 60% increased donations by 14%.
Kyle Rush, Obama Campaign (2012)
Fast Websites Make More Money #2
Speeding up advertising load times by
roughly 1.5 seconds increased CTR by 12%.
DoubleClick (2011)
Fast Websites Make More Money #3
Cutting 2.2 seconds off loading time
increased conversions by 15%.
Blake Cutler, Mozilla (2010)
Fast Websites Make More Money #4
A 400ms increase in load time caused a
5-9% increase in site abandonment.
Nicole Sullivan, Yahoo (2008)
Faster sites are more successful.
Today we’ll learn:
1. Why your website MUST be fast to be competitive
2. How a page is loaded by the browser
3. How to measure page speed
4. 5 simple ways to speed up YOUR website
5. HTTP/2
How Pages are Loaded: TCP
• Bytes from A to B
• Reliable
• In-order
• Meaningless
• Connection setup: 30-100ms
• 6 connections per host
30 81 89 02 81 81 00 bd 94 f1
a0 8c 82 3e 3d 6b 83 15 34 29
4b 6f 06 21 4e 90 51 70 e7 a9
cc 44 70 77 c1 ff a0 ca ef 03
f3 fb 4e 34 63 ad e9 0f ae 6d
5c b3 b8 d9 46 7a 90 44 7f 50
51 8b 46 cb c4 83 73 6f f7 a6
90 fd 01 03 33 7c ba bc e1 03
a0 cd ca 41 1f 27 50 87 0e 14
69 b5 36 c5 e5 49 f6 04 c5 6c
c0 c7 b4 51 0c 59 ca 9c 6c 3f
d6 02 d2 82 b4 4e c4 a5 76 fb
8a 24 ae 5f e1 7d b9 de 2d 08
b9 12 25 62 b9 02 03 01 00 01
How Pages are Loaded: HTTP
• Works over TCP
• Download & Upload Files
• Cookies
• Caching
• GZip Compression
How Pages are Loaded: HTML
• References other files:
• JavaScript
• CSS
• Images
• Parsing waits for JavaScript
• JS execution waits for CSS
• Rendering waits for CSS
How Pages are Loaded: TLS/HTTPS
• TLS: extension of TCP
• HTTPS: HTTP over TLS
• Extra overhead:
• Key exchange
• Certificates
• Validation
HTTP HTTPS
TCP TLS
Today we’ll learn:
1. Why your website MUST be fast to be competitive
2. How a page is loaded by the browser
3. How to measure page speed
4. 5 simple ways to speed up YOUR website
5. HTTP/2
Measuring Page Speed
• Page Load Time
• Everything is finished downloading
• Default metric for Google Analytics, etc.
• Start Render Time
• Something is showing up on the screen
• DOM Content Loaded
• All scripts, etc. have run
• Speed Index
2 Speed Factors: Latency & Bandwidth
• Latency: inherent delay for any request
• Limited by geography & speed of light
• Bandwidth: download speed
• Limited by infrastructure
• Download time = Latency + (size / Bandwidth)
Read this: https://www.igvita.com/2012/07/19/latency-the-new-web-performance-bottleneck/
Typical Bandwidth, Latency
• Cable/DSL Internet
• 20 Mbps, 40ms
• 4G LTE
• 10 Mbps, 80ms
• 3G
• 1 Mbps, 300ms
• Bandwidth delay = Latency delay for 100kB
Note Mbps = megabits, not megabytes
Measuring Page Speed – Google Analytics
ga('create', 'UA-58954847-1', { 'siteSpeedSampleRate': 100 });
User Timings
ga('send', {
'hitType': 'timing',
'timingCategory': 'jQuery',
'timingVar': 'Load Library',
'timingValue': 20,
'timingLabel': 'Google CDN',
'page': '/my-new-page'
});
Measuring Page Speed – WebPageTest.org
• X-Axis = Time
• Y-Axis = HTTP Downloads
• Green = Latency
• Blue = Download
Waterfall Diagram
• Visualization of page HTTP requests
• Generated by Fiddler (Windows) 
• HTTP only
• HAR format (HTTP Archive)
• Includes DNS, TCP, SSL
• Browser debug tools, plugins
• webpagetest.org
• tools.pingdom.com Load Sequence for jsfiddle.net
Today we’ll learn:
1. Why your website MUST be fast to be competitive
2. How a page is loaded by the browser
3. How to measure page speed
4. 5 simple ways to speed up YOUR website
5. HTTP/2
0. GZip Compression for Static Content
• Reduces text file size by ≈70%
• Not useful for images
• Use it!
• Please, please use it
• Be careful with GZip + secure dynamic content
1. Caching Headers
• 3 Headers
• Cache-Control (e.g. “public, max-age=3600”, “private”, “no-cache, no-store”)
• Etag (file hash), Last-Modified (date/time)
• Recommended: Versioned static files
• Reference with hash, e.g.
<link href="site.css?v=za3ffbjGOWq0NBu49W9UkZzJsAlCYJzmfwKDuOAv7eM1"…
• Cache-Control: public, max-age=31536000
• ETag & Last-Modified Headers
• Downside: conditional requests, 304 Not Modified
Caching != Fast Webpages
• Caching helps:
• Returning visitors
• Intra-site navigation
• Caching does not help for:
• New visitors
• Frequent updates
• Yahoo cache miss rate:
• Users: 40-60%
• Page Views: 20%
http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
2. Optimize File Delivery
• nginx – faster file server than Apache, IIS
• Also, caching reverse proxy
• Content Delivery Network (CDN)
• Geo-distributed file servers
• Really, really good at serving files
• Downsides: purging
• Cloudflare – recommended free CDN
3. Optimize Images
• Choose appropriate format
• JPEG – lots of colors, fuzzy edges
• PNG/GIF – line art, few colors
• Choose appropriate size
• Optimize them!
• Shrink up to 75%
4. Bundle Resources
• One file, multiple scripts
• JavaScript or CSS
• Reduce request quantity
• Consider cacheability
5. Minimize Web Fonts
• While loading…
• Use websafe font? (Firefox)
• Show no text? (Chrome)
• Streamline font weights
• Bold font vs. CSS font-weight: bold;
• Common subset: 50% smaller
• http://www.fontsquirrel.com/tools/webfont-generator
6. JavaScript tricks
• PJAX (github.com/defunkt/jquery-pjax)
• Link target is fetched with AJAX, pushed into DOM & history API
• No DOMContentLoaded
• Example: www.mprnews.org
• InstantClick (instantclick.io)
• PJAX, but fetch on mouseover/touchstart
• Example: www.joestrommen.com
Today we’ll learn:
1. Why your website MUST be fast to be competitive
2. How a page is loaded by the browser
3. How to measure page speed
4. 5 simple ways to speed up YOUR website
5. HTTP/2
HTTP/2
• First update to HTTP since 1999
• Focused on performance
• Implemented in all major browsers
• Not really in servers yet…
• Only supporting CDN is Akamai
• Requires HTTPS
Multiplexing
• Multiple downloads, one connection
• No more latency problems
• Perf benefit…in theory
• Rumors of 10-30% improvement
• Concrete studies…?
Further Reading
• VelocityConf slides –
velocityconf.com/devops-web-performance-2015/public/schedule/grid/public
• Steve Souders – www.stevesouders.com
• PerfPlanet Calendar – calendar.perfplanet.com
• Twitter: #perfmatters
• My Github: github.com/strommen
• I’m always happy to discuss this stuff! joe@joestrommen.com
Thanks!

More Related Content

What's hot

Building Faster Websites
Building Faster WebsitesBuilding Faster Websites
Building Faster WebsitesCraig Walker
 
Page Performance
Page PerformancePage Performance
Page Performanceatorreno
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance Dave Olsen
 
WordPress Hosting Basics
WordPress Hosting BasicsWordPress Hosting Basics
WordPress Hosting BasicsChris Burgess
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image StrategyChris Love
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love HandlesChris Love
 
Frontend performance
Frontend performanceFrontend performance
Frontend performancesacred 8
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftSteve Wortham
 
Introduction to web performance @ IEEE
Introduction to web performance @ IEEEIntroduction to web performance @ IEEE
Introduction to web performance @ IEEESergeyChernyshev
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016Chris Love
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningPeter McLachlan
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsCgColors
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsChris Love
 
Fast and Easy Website Tuneups
Fast and Easy Website TuneupsFast and Easy Website Tuneups
Fast and Easy Website TuneupsJeff Wisniewski
 
Web performance optimization for modern web applications
Web performance optimization for modern web applicationsWeb performance optimization for modern web applications
Web performance optimization for modern web applicationsChris Love
 
Cache Rules Everything Around Me
Cache Rules Everything Around MeCache Rules Everything Around Me
Cache Rules Everything Around MeRussell Heimlich
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizationsChris Love
 

What's hot (18)

Building Faster Websites
Building Faster WebsitesBuilding Faster Websites
Building Faster Websites
 
Page Performance
Page PerformancePage Performance
Page Performance
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
WordPress Hosting Basics
WordPress Hosting BasicsWordPress Hosting Basics
WordPress Hosting Basics
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image Strategy
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
Front-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoftFront-End Web Performance Optimization by BucketSoft
Front-End Web Performance Optimization by BucketSoft
 
Introduction to web performance @ IEEE
Introduction to web performance @ IEEEIntroduction to web performance @ IEEE
Introduction to web performance @ IEEE
 
Web performance
Web performanceWeb performance
Web performance
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginning
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
Advanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms toolsAdvanced front end debugging with ms edge and ms tools
Advanced front end debugging with ms edge and ms tools
 
Fast and Easy Website Tuneups
Fast and Easy Website TuneupsFast and Easy Website Tuneups
Fast and Easy Website Tuneups
 
Web performance optimization for modern web applications
Web performance optimization for modern web applicationsWeb performance optimization for modern web applications
Web performance optimization for modern web applications
 
Cache Rules Everything Around Me
Cache Rules Everything Around MeCache Rules Everything Around Me
Cache Rules Everything Around Me
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 

Similar to Why your slow loading website is costing you sales and how to fix it

10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek editionChris Love
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App TodayChris Love
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
Website Performance
Website PerformanceWebsite Performance
Website PerformanceHugo Fonseca
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinJonathan Hochman
 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress PerformanceDouglas Yuen
 
WordPress Optimization with Litespeed Cache #wpjkt14
WordPress Optimization with Litespeed Cache  #wpjkt14WordPress Optimization with Litespeed Cache  #wpjkt14
WordPress Optimization with Litespeed Cache #wpjkt14WordPress
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 
Joomla Site Optimization
Joomla Site OptimizationJoomla Site Optimization
Joomla Site OptimizationPerry Wirth
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page SpeedLina Shamiah
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applicationsEugene Lazutkin
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersDistilled
 
Web Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceWeb Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceHardik Shah
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
 
Optimizing website performance
Optimizing website performanceOptimizing website performance
Optimizing website performancePublisto Ltd.
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupAhmed Mohammed Nagdy
 

Similar to Why your slow loading website is costing you sales and how to fix it (20)

10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 
Web performance
Web performanceWeb performance
Web performance
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress Performance
 
WordPress Optimization with Litespeed Cache #wpjkt14
WordPress Optimization with Litespeed Cache  #wpjkt14WordPress Optimization with Litespeed Cache  #wpjkt14
WordPress Optimization with Litespeed Cache #wpjkt14
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Tips to improve your website performance
Tips to improve your website performanceTips to improve your website performance
Tips to improve your website performance
 
Joomla Site Optimization
Joomla Site OptimizationJoomla Site Optimization
Joomla Site Optimization
 
Developer Tools And Page Speed
Developer  Tools And  Page  SpeedDeveloper  Tools And  Page  Speed
Developer Tools And Page Speed
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 
Web Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity ConferenceWeb Performance - Learnings from Velocity Conference
Web Performance - Learnings from Velocity Conference
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
Optimizing website performance
Optimizing website performanceOptimizing website performance
Optimizing website performance
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
 

More from Robert Flournoy

Why You Failed on Adwords Display & Hidden Secrets Explained
Why You Failed on Adwords Display & Hidden Secrets ExplainedWhy You Failed on Adwords Display & Hidden Secrets Explained
Why You Failed on Adwords Display & Hidden Secrets ExplainedRobert Flournoy
 
Contextual Advertising Minneapolis Marketing Authority
Contextual Advertising Minneapolis Marketing AuthorityContextual Advertising Minneapolis Marketing Authority
Contextual Advertising Minneapolis Marketing AuthorityRobert Flournoy
 
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...Robert Flournoy
 
Facebook Updates & Parasite SEO Strategy - The Legit Way
Facebook Updates & Parasite SEO Strategy - The Legit WayFacebook Updates & Parasite SEO Strategy - The Legit Way
Facebook Updates & Parasite SEO Strategy - The Legit WayRobert Flournoy
 
Understanding Ecommerce Visitor Behavior 3-19-2013
Understanding Ecommerce Visitor Behavior 3-19-2013Understanding Ecommerce Visitor Behavior 3-19-2013
Understanding Ecommerce Visitor Behavior 3-19-2013Robert Flournoy
 
Onsite Search Engine Optimization & Marketing 2-16-10
Onsite Search Engine Optimization & Marketing 2-16-10Onsite Search Engine Optimization & Marketing 2-16-10
Onsite Search Engine Optimization & Marketing 2-16-10Robert Flournoy
 
Internet Retailer Recap 2-19-2013
Internet Retailer Recap 2-19-2013Internet Retailer Recap 2-19-2013
Internet Retailer Recap 2-19-2013Robert Flournoy
 
Ecommerce Redeployment 1-17-2011
Ecommerce Redeployment 1-17-2011Ecommerce Redeployment 1-17-2011
Ecommerce Redeployment 1-17-2011Robert Flournoy
 
Next Generation Ecommerce Loyalty Program
Next Generation Ecommerce Loyalty ProgramNext Generation Ecommerce Loyalty Program
Next Generation Ecommerce Loyalty ProgramRobert Flournoy
 

More from Robert Flournoy (9)

Why You Failed on Adwords Display & Hidden Secrets Explained
Why You Failed on Adwords Display & Hidden Secrets ExplainedWhy You Failed on Adwords Display & Hidden Secrets Explained
Why You Failed on Adwords Display & Hidden Secrets Explained
 
Contextual Advertising Minneapolis Marketing Authority
Contextual Advertising Minneapolis Marketing AuthorityContextual Advertising Minneapolis Marketing Authority
Contextual Advertising Minneapolis Marketing Authority
 
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...
Warning: You're Doing Your Web Optimization Wrong! Learn the Right Way...
 
Facebook Updates & Parasite SEO Strategy - The Legit Way
Facebook Updates & Parasite SEO Strategy - The Legit WayFacebook Updates & Parasite SEO Strategy - The Legit Way
Facebook Updates & Parasite SEO Strategy - The Legit Way
 
Understanding Ecommerce Visitor Behavior 3-19-2013
Understanding Ecommerce Visitor Behavior 3-19-2013Understanding Ecommerce Visitor Behavior 3-19-2013
Understanding Ecommerce Visitor Behavior 3-19-2013
 
Onsite Search Engine Optimization & Marketing 2-16-10
Onsite Search Engine Optimization & Marketing 2-16-10Onsite Search Engine Optimization & Marketing 2-16-10
Onsite Search Engine Optimization & Marketing 2-16-10
 
Internet Retailer Recap 2-19-2013
Internet Retailer Recap 2-19-2013Internet Retailer Recap 2-19-2013
Internet Retailer Recap 2-19-2013
 
Ecommerce Redeployment 1-17-2011
Ecommerce Redeployment 1-17-2011Ecommerce Redeployment 1-17-2011
Ecommerce Redeployment 1-17-2011
 
Next Generation Ecommerce Loyalty Program
Next Generation Ecommerce Loyalty ProgramNext Generation Ecommerce Loyalty Program
Next Generation Ecommerce Loyalty Program
 

Recently uploaded

办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 

Recently uploaded (20)

Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 

Why your slow loading website is costing you sales and how to fix it

  • 1. Why Your Slow Loading Website Is Costing You Sales and How to Fix It Joe Strommen @strommen joe@joestrommen.com
  • 2. Introductions • Software Engineer for 11 years • 2 years ago – started caring about business • Apr 2014, founded fasterweb.io • On the backburner (for now)  • Software Consulting • Specializing in web performance
  • 3. Today we’ll learn: 1. Why your website MUST be fast to be competitive 2. How a page is loaded by the browser 3. How to measure page speed 4. 5 simple ways to speed up YOUR website 5. HTTP/2
  • 4. Fast Websites Make More Money #1 Speeding up the fundraising site by 60% increased donations by 14%. Kyle Rush, Obama Campaign (2012)
  • 5. Fast Websites Make More Money #2 Speeding up advertising load times by roughly 1.5 seconds increased CTR by 12%. DoubleClick (2011)
  • 6. Fast Websites Make More Money #3 Cutting 2.2 seconds off loading time increased conversions by 15%. Blake Cutler, Mozilla (2010)
  • 7. Fast Websites Make More Money #4 A 400ms increase in load time caused a 5-9% increase in site abandonment. Nicole Sullivan, Yahoo (2008)
  • 8. Faster sites are more successful.
  • 9. Today we’ll learn: 1. Why your website MUST be fast to be competitive 2. How a page is loaded by the browser 3. How to measure page speed 4. 5 simple ways to speed up YOUR website 5. HTTP/2
  • 10. How Pages are Loaded: TCP • Bytes from A to B • Reliable • In-order • Meaningless • Connection setup: 30-100ms • 6 connections per host 30 81 89 02 81 81 00 bd 94 f1 a0 8c 82 3e 3d 6b 83 15 34 29 4b 6f 06 21 4e 90 51 70 e7 a9 cc 44 70 77 c1 ff a0 ca ef 03 f3 fb 4e 34 63 ad e9 0f ae 6d 5c b3 b8 d9 46 7a 90 44 7f 50 51 8b 46 cb c4 83 73 6f f7 a6 90 fd 01 03 33 7c ba bc e1 03 a0 cd ca 41 1f 27 50 87 0e 14 69 b5 36 c5 e5 49 f6 04 c5 6c c0 c7 b4 51 0c 59 ca 9c 6c 3f d6 02 d2 82 b4 4e c4 a5 76 fb 8a 24 ae 5f e1 7d b9 de 2d 08 b9 12 25 62 b9 02 03 01 00 01
  • 11. How Pages are Loaded: HTTP • Works over TCP • Download & Upload Files • Cookies • Caching • GZip Compression
  • 12. How Pages are Loaded: HTML • References other files: • JavaScript • CSS • Images • Parsing waits for JavaScript • JS execution waits for CSS • Rendering waits for CSS
  • 13. How Pages are Loaded: TLS/HTTPS • TLS: extension of TCP • HTTPS: HTTP over TLS • Extra overhead: • Key exchange • Certificates • Validation HTTP HTTPS TCP TLS
  • 14. Today we’ll learn: 1. Why your website MUST be fast to be competitive 2. How a page is loaded by the browser 3. How to measure page speed 4. 5 simple ways to speed up YOUR website 5. HTTP/2
  • 15. Measuring Page Speed • Page Load Time • Everything is finished downloading • Default metric for Google Analytics, etc. • Start Render Time • Something is showing up on the screen • DOM Content Loaded • All scripts, etc. have run • Speed Index
  • 16. 2 Speed Factors: Latency & Bandwidth • Latency: inherent delay for any request • Limited by geography & speed of light • Bandwidth: download speed • Limited by infrastructure • Download time = Latency + (size / Bandwidth) Read this: https://www.igvita.com/2012/07/19/latency-the-new-web-performance-bottleneck/
  • 17. Typical Bandwidth, Latency • Cable/DSL Internet • 20 Mbps, 40ms • 4G LTE • 10 Mbps, 80ms • 3G • 1 Mbps, 300ms • Bandwidth delay = Latency delay for 100kB Note Mbps = megabits, not megabytes
  • 18. Measuring Page Speed – Google Analytics ga('create', 'UA-58954847-1', { 'siteSpeedSampleRate': 100 }); User Timings ga('send', { 'hitType': 'timing', 'timingCategory': 'jQuery', 'timingVar': 'Load Library', 'timingValue': 20, 'timingLabel': 'Google CDN', 'page': '/my-new-page' });
  • 19. Measuring Page Speed – WebPageTest.org • X-Axis = Time • Y-Axis = HTTP Downloads • Green = Latency • Blue = Download
  • 20. Waterfall Diagram • Visualization of page HTTP requests • Generated by Fiddler (Windows)  • HTTP only • HAR format (HTTP Archive) • Includes DNS, TCP, SSL • Browser debug tools, plugins • webpagetest.org • tools.pingdom.com Load Sequence for jsfiddle.net
  • 21. Today we’ll learn: 1. Why your website MUST be fast to be competitive 2. How a page is loaded by the browser 3. How to measure page speed 4. 5 simple ways to speed up YOUR website 5. HTTP/2
  • 22. 0. GZip Compression for Static Content • Reduces text file size by ≈70% • Not useful for images • Use it! • Please, please use it • Be careful with GZip + secure dynamic content
  • 23. 1. Caching Headers • 3 Headers • Cache-Control (e.g. “public, max-age=3600”, “private”, “no-cache, no-store”) • Etag (file hash), Last-Modified (date/time) • Recommended: Versioned static files • Reference with hash, e.g. <link href="site.css?v=za3ffbjGOWq0NBu49W9UkZzJsAlCYJzmfwKDuOAv7eM1"… • Cache-Control: public, max-age=31536000 • ETag & Last-Modified Headers • Downside: conditional requests, 304 Not Modified
  • 24. Caching != Fast Webpages • Caching helps: • Returning visitors • Intra-site navigation • Caching does not help for: • New visitors • Frequent updates • Yahoo cache miss rate: • Users: 40-60% • Page Views: 20% http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
  • 25. 2. Optimize File Delivery • nginx – faster file server than Apache, IIS • Also, caching reverse proxy • Content Delivery Network (CDN) • Geo-distributed file servers • Really, really good at serving files • Downsides: purging • Cloudflare – recommended free CDN
  • 26. 3. Optimize Images • Choose appropriate format • JPEG – lots of colors, fuzzy edges • PNG/GIF – line art, few colors • Choose appropriate size • Optimize them! • Shrink up to 75%
  • 27. 4. Bundle Resources • One file, multiple scripts • JavaScript or CSS • Reduce request quantity • Consider cacheability
  • 28. 5. Minimize Web Fonts • While loading… • Use websafe font? (Firefox) • Show no text? (Chrome) • Streamline font weights • Bold font vs. CSS font-weight: bold; • Common subset: 50% smaller • http://www.fontsquirrel.com/tools/webfont-generator
  • 29. 6. JavaScript tricks • PJAX (github.com/defunkt/jquery-pjax) • Link target is fetched with AJAX, pushed into DOM & history API • No DOMContentLoaded • Example: www.mprnews.org • InstantClick (instantclick.io) • PJAX, but fetch on mouseover/touchstart • Example: www.joestrommen.com
  • 30. Today we’ll learn: 1. Why your website MUST be fast to be competitive 2. How a page is loaded by the browser 3. How to measure page speed 4. 5 simple ways to speed up YOUR website 5. HTTP/2
  • 31. HTTP/2 • First update to HTTP since 1999 • Focused on performance • Implemented in all major browsers • Not really in servers yet… • Only supporting CDN is Akamai • Requires HTTPS
  • 32. Multiplexing • Multiple downloads, one connection • No more latency problems • Perf benefit…in theory • Rumors of 10-30% improvement • Concrete studies…?
  • 33. Further Reading • VelocityConf slides – velocityconf.com/devops-web-performance-2015/public/schedule/grid/public • Steve Souders – www.stevesouders.com • PerfPlanet Calendar – calendar.perfplanet.com • Twitter: #perfmatters • My Github: github.com/strommen • I’m always happy to discuss this stuff! joe@joestrommen.com

Editor's Notes

  1. Audience poll: Developer, Leader/Manager, Entrepreneur Front-end, back-end – what technologies?
  2. (before showing stats) As computer experts, we are bold, confident, and determined. That’s unusual Most internet users are scared, impatient, confused. Not just grandma! Adding friction is going to make them less likely to succeed Nice thing about web perf is that we can measure it (stats) Wide range of sites have reported stuff like this
  3. Key point
  4. Nielsen study is at http://www.nngroup.com/articles/response-times-3-important-limits/
  5. Nielsen study is at http://www.nngroup.com/articles/response-times-3-important-limits/
  6. Typical wired-network latency is speed of light to the server + 10ms. It’s not going to improve much Bandwidth can be improved – it’s just building bigger pipes.
  7. Unless your file is >100kB, it causes more overhead due to latency than bandwidth Caveats: bandwidth #s are theoretical, latency #s are practical. is lost due to overhead…but Still though, 100kB is massive – jQuery is only 33kB Keep this in mind, and we’ll come back to it later
  8. Nielsen study is at http://www.nngroup.com/articles/response-times-3-important-limits/
  9. http://www.webpagetest.org/result/150721_NN_16T3/1/details/
  10. X-Axis = time Y-Axis = HTTP requests Black bar is TTFB Requests with nothing after the black bar are tiny – download is instantaneous
  11. The polar bear images are 50kB and 18kB respectively. I don’t even remember which is which.
  12. Web fonts are reasonably heavy – 20-100kB Another thing to consider is that fonts can cause reflows when they load if they’re wider than the browser is going to guess. Personal website – I hide the entire content while the font downloads
  13. SPDY is basically a beta version of HTTP/2 I haven’t seen a single thing published along the lines of “We enabled SPDY and saw improvements of X%”
  14. SPDY is basically a beta version of HTTP/2 I haven’t seen a single thing published along the lines of “We enabled SPDY and saw improvements of X%”