SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
B E Y O N D PA G E L E V E L M E T R I C S
Buddy Brewer
@bbrewer
Philip Tellis
@bluesmoon
G I T H U B
https://github.com/lognormal/
velocity-sc2014-beyond-page-
metrics
https://github.com/lognormal/
boomerang
git clone <clone url>
W H AT D O E S A PA G E L O O K L I K E O N
T H E N E T W O R K ?
H O W D O D I F F E R E N T B R O W S E R S
H A N D L E PA R A L L E L I Z AT I O N ?
W H I C H PA G E C O M P O N E N T S
A F F E C T P E R C E I V E D L AT E N C Y ?
A R E A N Y O F T H E M S P O F S ?
• Static JavaScript files, external CSS files
• Anything that blocks onload if you have scripts that
run on onload
W H Y D O W E
N E E D R U M ?
C A N ’ T W E G E T T H I S
A L R E A D Y ?
San Francisco
London
Paris
Gilroy
Tellisford
Eze
Fast
Connections
Slow
Connections
Common Browsers
Uncommon Browsers
≠
N AV I G AT I O N T I M I N G
P E R F O R M A N C E T I M I N G
N AV I G AT I O N T I M I N G
AVA I L A B I L I T Y
• IE >= 9
• FF >= 7
• Chrome >= 6
• Opera >= 15
• Latest Android, Blackberry,
Opera Mobile, Chrome for
Android, Firefox for
Android, IE Mobile
N AV I G AT I O N T I M I N G E X A M P L E
var loadEventDuration = performance.timing.loadEventEnd - !
performance.timing.loadEventStart;
R E S O U R C E T I M I N G
P E R F O R M A N C E T I M E L I N E
R E S O U R C E T I M I N G AVA I L A B I L I T Y
• IE >= 10
• Chrome
• Opera >= 16
• Latest Opera Mobile, Chrome for Android, IE Mobile
R E S O U R C E T I M I N G G E T S U S
I N T E R E S T I N G T H I N G S
• Generate a complete waterfall

https://github.com/andydavies/waterfall
• Calculate a cache-hit-ratio per resource
• Identify problem resources
C O R S : C R O S S - O R I G I N R E S O U R C E
S H A R I N G
• Cross-domain resources only tell you start & end time
• Timing-Allow-Origin: *
L I M I TAT I O N S O F R E S O U R C E T I M I N G
• Does not report resources that error out, which is one
of the things we care about
• Doesn’t tell you if a response is a 304 or 200
M E A S U R I N G A S I N G L E O B J E C T
var url = 'http://www.buddybrewer.com/images/buddy.png';!
var me = performance.getEntriesByName(url)[0];!
var timings = { !
loadTime: me.duration, !
dns: me.domainLookupEnd - me.domainLookupStart, !
tcp: me.connectEnd - me.connectStart, !
waiting: me.responseStart - me.requestStart, !
fetch: me.responseEnd - me.responseStart!
}
M E A S U R I N G A C O L L E C T I O N O F
O B J E C T S
var i, first, last, entries = performance.getEntries();!
for (i=0; i<entries.length; i++) {!
if (entries[i].name.indexOf('platform.twitter.com') != -1) {!
if (first === undefined) !
first = entries[i];!
if (last === undefined) !
last = entries[i];!
if (entries[i].startTime < first.startTime) !
first = entries[i];!
if (entries[i].responseEnd > last.responseEnd) !
last = entries[i];!
}!
}!
console.log('Took ' + (last.responseEnd - first.startTime) + ' ms');
U S E R T I M I N G
P E R F O R M A N C E T I M I N G
U S E R T I M I N G
AVA I L A B I L I T Y
• IE >= 10
• Chrome >= 25
• Opera >= 15
• Latest Opera Mobile,
Chrome for Android, IE
Mobile
U S E R T I M I N G E X A M P L E
window.performance.mark('mark_start');!
setTimeout(function() {!
window.performance.mark('mark_end');!
window.performance.measure(‘measure_time_to_this_point’);!
window.performance.measure('measure_duration', 'mark_start',
‘mark_end');!
console.log('Long thing took ' + !
performance.getEntriesByName('measure_duration')[0].duration + !
' ms');!
}, 1000);
P E R F O R M A N C E M A N A G E M E N T I N
T H R E E S T E P S
How Fast Am I? How Fast Should I Be? How Do I Get There?
H O W FA S T S H O U L D I B E ?
T R A C K I N G C O N V E R S I O N S
W H A T I S A C O N V E R S I O N ?
Orders
Shares, Likes, Comments
Page Views
Subscriptions
Signups
Card Additions
Video Plays
M E A S U R I N G T H E I M PA C T O F S P E E D
S P E E D S T R O N G LY C O R R E L A T E S T O C O N V E R S I O N S
T H I S M E A N S W E
C A N M E A S U R E
PAT I E N C E
E X A M P L E
Time Range: 1 Month
Median Load Time: 4.12
Visits: 25M
Conversion Rate: 2.71%
Average Order: $100
C A N W E D O B E T T E R ?
S P E E D I N C R E A S E S D R I V E B U S I N E S S I M P R O V E M E N T S
Median Load Time: 4.12
Total Conversion Rate: 2.71%
Conversion Rate @ 3.0s: 4.88%
W H AT A R E W E P L AY I N G F O R ?
Total Conversion Rate: 2.71%
Best Case Conversion Rate: 4.88%
Conversion Gap: 2.32%
Visits: 25M
AOV: $100
(4.88% - 2.71%) * 25M * $100 = $54.25M
1 second = $54M
BUT
1 0 0 T H P E R C E N T I L E ?
P O T E N T I A L V S R E A L I S T I C G O A L S
Median Load Time: 4.12
Total Conversion Rate: 2.71%
Conversion Rate @ 3.0s: 4.88%
R E A L I S T I C , I T E R AT I V E G O A L S
Target Load Time: 4 seconds (vs 3 seconds)
Percentile at 4 sec: 49th
Target Percentile: 60th (vs 100th percentile)
Percentile Gap: 11%
(4.88% - 2.71%) * (11% * 25M) * $100 = $6M
Improving from
4.12 sec @ 50th percentile
to
4.0 sec @ 60th percentile
=
$6M / month
Thank You
AT T R I B U T I O N S
https://secure.flickr.com/photos/torkildr/3462607995 (servers)
https://secure.flickr.com/photos/hackny/8038587477 (real users)
https://secure.flickr.com/photos/isherwoodchris/3096255994 (NYC)
https://secure.flickr.com/photos/motoxgirl/11972577704 (Countryside)
https://secure.flickr.com/photos/98640399@N08/9287370881 (Fiber Optic)
https://secure.flickr.com/photos/secretlondon/2592690167 (Acoustic Coupler)
https://secure.flickr.com/photos/jenny-pics/2904201123 (Rum Bottle)
https://secure.flickr.com/photos/bekathwia/2415018504 (Privacy Sweater)
https://secure.flickr.com/photos/zigzaglens/3566054676 (Star Field)

Mais conteúdo relacionado

Semelhante a 2014 06-23 velocity sc beyond page metrics

Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitAmazon Web Services
 
CIA For WordPress Developers
CIA For WordPress DevelopersCIA For WordPress Developers
CIA For WordPress DevelopersDavid Brumbaugh
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Michał Kurzeja
 
API Pain Points (PHPNE)
API Pain Points (PHPNE)API Pain Points (PHPNE)
API Pain Points (PHPNE)Phil Sturgeon
 
Monitoring and Logging in Wonderland
Monitoring and Logging in WonderlandMonitoring and Logging in Wonderland
Monitoring and Logging in WonderlandPaul Seiffert
 
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHP
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHPphp[world] 2016 - You Don’t Need Node.js - Async Programming in PHP
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHPAdam Englander
 
Serverless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPressServerless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPressHidetaka Okamoto
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018Codemotion
 
Zend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHPZend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHPAdam Englander
 
Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Daniel Teng
 
PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!Blanca Mancilla
 
AWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 MelbourneAWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 MelbourneAmazon Web Services
 
Understanding and Implementing Website Security
Understanding and Implementing Website SecurityUnderstanding and Implementing Website Security
Understanding and Implementing Website SecurityDrew Gorton
 
AWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 BrisbaneAWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 BrisbaneAmazon Web Services
 

Semelhante a 2014 06-23 velocity sc beyond page metrics (20)

Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
 
Fast api
Fast apiFast api
Fast api
 
CIA For WordPress Developers
CIA For WordPress DevelopersCIA For WordPress Developers
CIA For WordPress Developers
 
Meteor WWNRW Intro
Meteor WWNRW IntroMeteor WWNRW Intro
Meteor WWNRW Intro
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
 
API Pain Points (PHPNE)
API Pain Points (PHPNE)API Pain Points (PHPNE)
API Pain Points (PHPNE)
 
Monitoring and Logging in Wonderland
Monitoring and Logging in WonderlandMonitoring and Logging in Wonderland
Monitoring and Logging in Wonderland
 
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHP
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHPphp[world] 2016 - You Don’t Need Node.js - Async Programming in PHP
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHP
 
Serverless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPressServerless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPress
 
GraphQL, l'avenir du REST ?
GraphQL, l'avenir du REST ?GraphQL, l'avenir du REST ?
GraphQL, l'avenir du REST ?
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
 
eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016
 
Zend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHPZend con 2016 - Asynchronous Prorgamming in PHP
Zend con 2016 - Asynchronous Prorgamming in PHP
 
Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values
 
PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!
 
Auckland AWS Seminar Series
Auckland AWS Seminar SeriesAuckland AWS Seminar Series
Auckland AWS Seminar Series
 
AWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 SydneyAWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 Sydney
 
AWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 MelbourneAWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 Melbourne
 
Understanding and Implementing Website Security
Understanding and Implementing Website SecurityUnderstanding and Implementing Website Security
Understanding and Implementing Website Security
 
AWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 BrisbaneAWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 Brisbane
 

Mais de Buddy Brewer

Taking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsTaking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsBuddy Brewer
 
2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans RemarksBuddy Brewer
 
2014 11-18 rip onload
2014 11-18 rip onload2014 11-18 rip onload
2014 11-18 rip onloadBuddy Brewer
 
2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restlessBuddy Brewer
 
The 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMThe 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMBuddy Brewer
 
Tying web performance data to human behavior
Tying web performance data to human behaviorTying web performance data to human behavior
Tying web performance data to human behaviorBuddy Brewer
 
RUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseRUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseBuddy Brewer
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At ScaleBuddy Brewer
 

Mais de Buddy Brewer (8)

Taking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsTaking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance Budgets
 
2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks
 
2014 11-18 rip onload
2014 11-18 rip onload2014 11-18 rip onload
2014 11-18 rip onload
 
2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless
 
The 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMThe 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUM
 
Tying web performance data to human behavior
Tying web performance data to human behaviorTying web performance data to human behavior
Tying web performance data to human behavior
 
RUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseRUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noise
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At Scale
 

Último

Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxItaly Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxWorld Wide Tickets And Hospitality
 
Benifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxBenifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxsherrymieg19
 
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptx
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptxBADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptx
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptxvillenoc6
 
Clash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfClash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfMuhammad Hashim
 
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptx
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptxPGC _ 3.1 _ Powerpoint (2024) scorm ready.pptx
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptxaleonardes
 
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...World Wide Tickets And Hospitality
 
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 GACOR
 
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxJORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxArturo Pacheco Alvarez
 
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...Eticketing.co
 
Project & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEProject & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEDeShawn Ellis
 
PPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports RivalryPPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports Rivalryanirbannath184
 

Último (12)

Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxItaly Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
 
Benifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxBenifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptx
 
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptx
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptxBADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptx
BADMINTON EQUIPMENTS / EQUIPMENTS GROUP9.pptx
 
Clash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfClash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdf
 
NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
 
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptx
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptxPGC _ 3.1 _ Powerpoint (2024) scorm ready.pptx
PGC _ 3.1 _ Powerpoint (2024) scorm ready.pptx
 
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
 
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
 
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxJORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
 
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...
Turkey Vs Georgia Vincenzo Montella's Squad Selection for Turkey's Euro 2024 ...
 
Project & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEProject & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWE
 
PPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports RivalryPPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports Rivalry
 

2014 06-23 velocity sc beyond page metrics

  • 1. B E Y O N D PA G E L E V E L M E T R I C S
  • 3. G I T H U B https://github.com/lognormal/ velocity-sc2014-beyond-page- metrics https://github.com/lognormal/ boomerang git clone <clone url>
  • 4. W H AT D O E S A PA G E L O O K L I K E O N T H E N E T W O R K ?
  • 5. H O W D O D I F F E R E N T B R O W S E R S H A N D L E PA R A L L E L I Z AT I O N ?
  • 6. W H I C H PA G E C O M P O N E N T S A F F E C T P E R C E I V E D L AT E N C Y ?
  • 7. A R E A N Y O F T H E M S P O F S ? • Static JavaScript files, external CSS files • Anything that blocks onload if you have scripts that run on onload
  • 8. W H Y D O W E N E E D R U M ? C A N ’ T W E G E T T H I S A L R E A D Y ?
  • 12.
  • 13. N AV I G AT I O N T I M I N G P E R F O R M A N C E T I M I N G
  • 14. N AV I G AT I O N T I M I N G AVA I L A B I L I T Y • IE >= 9 • FF >= 7 • Chrome >= 6 • Opera >= 15 • Latest Android, Blackberry, Opera Mobile, Chrome for Android, Firefox for Android, IE Mobile
  • 15. N AV I G AT I O N T I M I N G E X A M P L E var loadEventDuration = performance.timing.loadEventEnd - ! performance.timing.loadEventStart;
  • 16. R E S O U R C E T I M I N G P E R F O R M A N C E T I M E L I N E
  • 17. R E S O U R C E T I M I N G AVA I L A B I L I T Y • IE >= 10 • Chrome • Opera >= 16 • Latest Opera Mobile, Chrome for Android, IE Mobile
  • 18. R E S O U R C E T I M I N G G E T S U S I N T E R E S T I N G T H I N G S • Generate a complete waterfall
 https://github.com/andydavies/waterfall • Calculate a cache-hit-ratio per resource • Identify problem resources
  • 19. C O R S : C R O S S - O R I G I N R E S O U R C E S H A R I N G • Cross-domain resources only tell you start & end time • Timing-Allow-Origin: *
  • 20. L I M I TAT I O N S O F R E S O U R C E T I M I N G • Does not report resources that error out, which is one of the things we care about • Doesn’t tell you if a response is a 304 or 200
  • 21. M E A S U R I N G A S I N G L E O B J E C T var url = 'http://www.buddybrewer.com/images/buddy.png';! var me = performance.getEntriesByName(url)[0];! var timings = { ! loadTime: me.duration, ! dns: me.domainLookupEnd - me.domainLookupStart, ! tcp: me.connectEnd - me.connectStart, ! waiting: me.responseStart - me.requestStart, ! fetch: me.responseEnd - me.responseStart! }
  • 22. M E A S U R I N G A C O L L E C T I O N O F O B J E C T S var i, first, last, entries = performance.getEntries();! for (i=0; i<entries.length; i++) {! if (entries[i].name.indexOf('platform.twitter.com') != -1) {! if (first === undefined) ! first = entries[i];! if (last === undefined) ! last = entries[i];! if (entries[i].startTime < first.startTime) ! first = entries[i];! if (entries[i].responseEnd > last.responseEnd) ! last = entries[i];! }! }! console.log('Took ' + (last.responseEnd - first.startTime) + ' ms');
  • 23. U S E R T I M I N G P E R F O R M A N C E T I M I N G
  • 24. U S E R T I M I N G AVA I L A B I L I T Y • IE >= 10 • Chrome >= 25 • Opera >= 15 • Latest Opera Mobile, Chrome for Android, IE Mobile
  • 25. U S E R T I M I N G E X A M P L E window.performance.mark('mark_start');! setTimeout(function() {! window.performance.mark('mark_end');! window.performance.measure(‘measure_time_to_this_point’);! window.performance.measure('measure_duration', 'mark_start', ‘mark_end');! console.log('Long thing took ' + ! performance.getEntriesByName('measure_duration')[0].duration + ! ' ms');! }, 1000);
  • 26. P E R F O R M A N C E M A N A G E M E N T I N T H R E E S T E P S How Fast Am I? How Fast Should I Be? How Do I Get There?
  • 27. H O W FA S T S H O U L D I B E ?
  • 28. T R A C K I N G C O N V E R S I O N S W H A T I S A C O N V E R S I O N ? Orders Shares, Likes, Comments Page Views Subscriptions Signups Card Additions Video Plays
  • 29. M E A S U R I N G T H E I M PA C T O F S P E E D S P E E D S T R O N G LY C O R R E L A T E S T O C O N V E R S I O N S
  • 30. T H I S M E A N S W E C A N M E A S U R E PAT I E N C E
  • 31. E X A M P L E Time Range: 1 Month Median Load Time: 4.12 Visits: 25M Conversion Rate: 2.71% Average Order: $100
  • 32. C A N W E D O B E T T E R ? S P E E D I N C R E A S E S D R I V E B U S I N E S S I M P R O V E M E N T S Median Load Time: 4.12 Total Conversion Rate: 2.71% Conversion Rate @ 3.0s: 4.88%
  • 33. W H AT A R E W E P L AY I N G F O R ? Total Conversion Rate: 2.71% Best Case Conversion Rate: 4.88% Conversion Gap: 2.32% Visits: 25M AOV: $100
  • 34. (4.88% - 2.71%) * 25M * $100 = $54.25M
  • 35. 1 second = $54M
  • 36. BUT
  • 37. 1 0 0 T H P E R C E N T I L E ? P O T E N T I A L V S R E A L I S T I C G O A L S Median Load Time: 4.12 Total Conversion Rate: 2.71% Conversion Rate @ 3.0s: 4.88%
  • 38. R E A L I S T I C , I T E R AT I V E G O A L S Target Load Time: 4 seconds (vs 3 seconds) Percentile at 4 sec: 49th Target Percentile: 60th (vs 100th percentile) Percentile Gap: 11%
  • 39. (4.88% - 2.71%) * (11% * 25M) * $100 = $6M
  • 40. Improving from 4.12 sec @ 50th percentile to 4.0 sec @ 60th percentile = $6M / month
  • 42. AT T R I B U T I O N S https://secure.flickr.com/photos/torkildr/3462607995 (servers) https://secure.flickr.com/photos/hackny/8038587477 (real users) https://secure.flickr.com/photos/isherwoodchris/3096255994 (NYC) https://secure.flickr.com/photos/motoxgirl/11972577704 (Countryside) https://secure.flickr.com/photos/98640399@N08/9287370881 (Fiber Optic) https://secure.flickr.com/photos/secretlondon/2592690167 (Acoustic Coupler) https://secure.flickr.com/photos/jenny-pics/2904201123 (Rum Bottle) https://secure.flickr.com/photos/bekathwia/2415018504 (Privacy Sweater) https://secure.flickr.com/photos/zigzaglens/3566054676 (Star Field)