Metrics, metrics everywhere (but where the heck do you start?)

Tammy Everts
Tammy EvertsCXO, SpeedCurve at SpeedCurve
Metrics, metrics everywhere
(but where the heck do you start?)
@tameverts @cliffcrocker
#velocityconf
Metrics, metrics everywhere (but where the heck do you start?)
Who cares about performance today?
How do I measure performance?
How fast am I?
How fast should I be?
How do I get there?
Metrics, metrics everywhere (but where the heck do you start?)
The myth of a single metric
Metrics, metrics everywhere (but where the heck do you start?)
Start render DNS TCP TTFB
DOM loading DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
Who cares about performance?
“47% of consumers expect a web
page to load in 2 seconds or less.”
Akamai, 2009
Metrics, metrics everywhere (but where the heck do you start?)
1s = $27M DNS
144ms
Start render
1.59s
Hero image render
2.01s
How do I measure performance?
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Androiddevicefragmentation
OpenSignal,August2014
RUM versus plus synthetic
RUM 101
Technology for collecting performance metrics
directly from the end user’s browser
Involves instrumenting your site via JavaScript
Measurements are fired across the network to a
collection point through a small request object
(beacon)
What makes RUM great
 Always on
 Every user, every browser, everywhere
 Able to capture human behavior/events
 Only getting better
Questions your RUM data can answer
What are
my users’
environments?
How do visitors move
through my site?
How are my
third-party scripts
performing in
real time?
What impact does
performance have
on my business?
Synthetic Monitoring 101
Uses automated agents (bots) to measure your
website from different physical locations
A set “path” or URL is defined
Tests are run either ad hoc or scheduled,
and data is collected
What makes synthetic monitoring great
 Rich data collected (waterfall, video,
filmstrip, HTTP headers)
 Consistent “clean room” baseline
 Nothing to install
 Doesn’t require users / ability to
measure pre-production and
competition
Questions your synthetic data can answer
How do I compare to the competition?
How does the
design of my
pages affect
performance?
How does
the newest
version
of my site
compare
to previous
versions?
How well am I sticking to my performance budget?
What if my third parties fail?
Original: 3.5s
SPOF: 22.7s
Metrics, metrics everywhere (but where the heck do you start?)
36© 2014 SOASTA CONFIDENTIAL - All rights reserved.
Why are these numbers so different?
I don’t trust your data. Your numbers are wrong.
How are you calculating page load time?
I can’t share two sets of numbers with the business?
“But it loads so much faster for me!?!”
2015 Macbook Pro
Warm browser cache
FIOS
X86 – Windows 7 VM
Completely cold cache/DNS
Throttled bandwidth
boomerang.js
Episodes
W3C Performance
Working Group
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
How fast am I?
Navigation Timing API
Browser support for Navigation Timing
45© 2014 SOASTA CONFIDENTIAL - All rights reserved.
Network operations
Front-end developer
Marketing and site operations
Designer
C-level
Use case: Measure
network performance
I need visibility into…
 issues with authoritative DNS servers
 impact of denial of service attacks
on end users
 efficiency of connection re-use
 tier 1 connectivity issues (load balancer,
web server)
Start render DNS TCP TTFB
DOM loading DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
Measuring DNS and TCP
function getPerf() {
var timing = window.performance.timing;
return {
dns: timing.domainLookupEnd -
timing.domainLookupStart};
connect: timing.connectEnd - timing.connectStart};
}
What’s with all those zeros!
 Connection reuse
 DNS caching
 Prefetching
Focus on higher percentiles
85th percentile
Median (50th)
Use case: Measure
front-end browser events
How do I…
 understand the impact of back-end
versus front-end on page speed?
 investigate how DOM complexity affects
performance?
 measure a “fully loaded” page?
Start render DNS TCP TTFB
DOM load event DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
Isolate front-end vs. back-end
Isolate front-end vs. back-end
function getPerf() {
var timing = window.performance.timing;
return {
ttfb: timing.responseStart - timing.connectEnd};
basePage: timing.responseEnd - timing.responseStart};
frontEnd: timing.loadEventStart -
timing.responseEnd};
}
Metrics, metrics everywhere (but where the heck do you start?)
Front-end
Back-end
Investigate DOM events
function getPerf() {
var timing = window.performance.timing;
return {
DLoading: timing.domLoading –
timing.navigationStart};
DInt: timing.domInteractive –
timing.navigationStart};
DContLoaded: timing.domContentLoadedEventEnd –
timing.navigationStart;
DContLoadTime: timing.domContentLoadedEventEnd –
timing.domContentLoadedEventStart};
DComplete: timing.domComplete -
timing.navigationStart};
PLoad: timing.loadEventStart -
2618 DOM nodes
86 DOM nodes
Visualizing DOM complexity
Use case: Measure
object-level performance
I need to understand…
 how third-party content affects my
performance
 how long a group of assets takes to
download
 how assets served by a CDN are
performing
Start render DNS TCP TTFB
DOM loading DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
Resource Timing interface
Browser support for Resource Timing
Cross-Origin Resource Sharing (CORS)
Start/End time only unless Timing-Allow-Origin
HTTP Response Header defined
Timing-Allow-Origin = "Timing-Allow-Origin" ":" origin-list-
or-null | "*"
Resource Timing
var rUrl = ‘http://www.akamai.com/images/img/cliff-crocker-
dualtone-150x150.png’;
var me = performance.getEntriesByName(rUrl)[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
}
Measuring a single resource
Other uses for Resource Timing
 Slowest resources
 Time to first image (download)
 Response time by domain
 Time a group of assets
 Response time by initiator type (element type)
 Cache-hit ratio for resources
For examples see: https://github.com/lognormal/beyond-page-metrics
Using Resource Groups
PLT impact not due
resource groups
PLT impact
correlates with
improvement
from image domains
Use case: Measure
the user experience
I just need to understand…
 when users perceive the page to
be ready
 how long until my page begins
to render
 when content above the fold is visible
Start render DNS TCP TTFB
DOM loading DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
The fallacy of “First Paint” in the wild
 Support for First Paint is not standardized between browsers
 Metric can be misleading (i.e. painting a white screen)
First Paint is not equal to Start Render!
Chrome – “First Paint” True Start Render
Start Render and filmstrips
User Timing Interface
 Allows developers to measure performance of
their applications through high-precision
timestamps
 Consists of “marks” and “measures”
 PerformanceMark: Timestamp
 PerformanceMeasure: Duration between
two given marks
Measure duration between two marks
performance.mark(“startTask”);
//Some stuff you want to measure happens here
performance.mark(“stopTask”);
//Measure the duration between the two marks
performance.measure(“taskDuration”,“startTask”,“stopTask”);
How long does it
take to display
the main product
image on my site?
Record when an image loads
<img src=“image1.gif” onload=“performance.mark(‘image1’)”>
For more interesting examples, see:
Measure hero image delay
http://www.stevesouders.com/blog/2015/05/12/hero-image-custom-metrics/
Measure aggregate times to get an “above fold time”
http://blog.patrickmeenan.com/2013/07/measuring-performance-of-user-
experience.html
How do I measure performance
when the onload event no longer
matters?
Use case: Measure
performance of SPAs
onload event
visible resources
Measuring SPAs
• Accept the fact that onload no longer matters
• Tie into routing events of SPA framework
• Measure downloads during soft refreshes
• (support in boomerang.js for Angular and other
SPA frameworks)
See: http://www.soasta.com/blog/angularjs-real-user-
monitoring-single-page-applications/
How fast should I be?
Use case: Measure
business impact
I need to understand…
 how performance affects business KPIs
 how our site compares to our
competitors
Start render DNS TCP TTFB
DOM loading DOM ready Page load Fully loaded
User timing Resource timing Requests Bytes in
Speed Index Pagespeed score 1s = $$ DOM elements
DOM size Visually complete Redirect SSL negotiation
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
2% increase in conversions
for every 1 second of improvement
Cut load times in half
Increased sales by 13%
Metrics, metrics everywhere (but where the heck do you start?)
So what?
You must look at your own data.
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Not all pages are created equal
For a typical
ecommerce site,
conversion rate
drops by up to 50%
when “browse”
pages increase from
1 to 6 seconds
Not all pages are created equal
However, there is
much less impact
to conversion
when “checkout”
pages degrade
Conversion Impact Score
How do I get there?
Metrics, metrics everywhere (but where the heck do you start?)
Create a performance budget
See:
Setting a Performance Budget
http://timkadlec.com/2013/01/setting-a-performance-budget/
Performance Budget Metrics
http://timkadlec.com/2014/11/performance-budget-metrics/
Set meaningful, page-specific SLAs
“Response time measured using resource timing from Chrome
browsers in the United States should not exceed a median
(50th percentile) of 100ms or a 95th percentile of 500ms for
a population of more than 500 users in a 24-hour period.”
“Vendor will make an effort to ensure average response
times for content is within reasonable limits.”
Metrics, metrics everywhere (but where the heck do you start?)
Chapter 8:
Changing Culture
at Your Organization
performancebacon.com
performancebeacon.com
Thanks!
Meet us at booth #801
1 of 109

Recommended

How I learned to stop worrying and love UX metrics by
How I learned to stop worrying and love UX metricsHow I learned to stop worrying and love UX metrics
How I learned to stop worrying and love UX metricsTammy Everts
1.6K views75 slides
The HEART framework for UX metrics by
The HEART framework for UX metricsThe HEART framework for UX metrics
The HEART framework for UX metricsUX Nights
1.8K views21 slides
Why User Experience Matters | By UX Professionals from Centerline Digital by
Why User Experience Matters | By UX Professionals from Centerline DigitalWhy User Experience Matters | By UX Professionals from Centerline Digital
Why User Experience Matters | By UX Professionals from Centerline DigitalCenterline Digital
13K views34 slides
Mule Integration with Atlassian JIRA by
Mule Integration with Atlassian JIRAMule Integration with Atlassian JIRA
Mule Integration with Atlassian JIRARamakrishna Narkedamilli
1.8K views12 slides
Hands-On With Reactive Web Design by
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web DesignOutSystems
318 views29 slides
Measuring UX by
Measuring UXMeasuring UX
Measuring UXFITC
1.3K views28 slides

More Related Content

What's hot

UX Metrics for Enterprise by
UX Metrics for EnterpriseUX Metrics for Enterprise
UX Metrics for EnterpriseNoemie PRIN
194 views37 slides
Technology Stack by
Technology StackTechnology Stack
Technology StackSV.CO
4.5K views25 slides
Scaling Indexing and Replication in Jira Data Center Apps by
Scaling Indexing and Replication in Jira Data Center AppsScaling Indexing and Replication in Jira Data Center Apps
Scaling Indexing and Replication in Jira Data Center AppsAtlassian
14.8K views67 slides
Applications Performance Monitoring with Applications Manager part 1 by
Applications Performance Monitoring with Applications Manager part 1Applications Performance Monitoring with Applications Manager part 1
Applications Performance Monitoring with Applications Manager part 1ManageEngine, Zoho Corporation
1K views45 slides
Testing on Mobile Devices with Location Services by
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesSauce Labs
765 views57 slides
UX Vision, Strategy and Teams by Susan Wolfe, Optimal Experience by
UX Vision, Strategy and Teams by Susan Wolfe, Optimal ExperienceUX Vision, Strategy and Teams by Susan Wolfe, Optimal Experience
UX Vision, Strategy and Teams by Susan Wolfe, Optimal ExperienceUIDesign Group
12.2K views62 slides

What's hot(20)

UX Metrics for Enterprise by Noemie PRIN
UX Metrics for EnterpriseUX Metrics for Enterprise
UX Metrics for Enterprise
Noemie PRIN194 views
Technology Stack by SV.CO
Technology StackTechnology Stack
Technology Stack
SV.CO4.5K views
Scaling Indexing and Replication in Jira Data Center Apps by Atlassian
Scaling Indexing and Replication in Jira Data Center AppsScaling Indexing and Replication in Jira Data Center Apps
Scaling Indexing and Replication in Jira Data Center Apps
Atlassian14.8K views
Testing on Mobile Devices with Location Services by Sauce Labs
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location Services
Sauce Labs765 views
UX Vision, Strategy and Teams by Susan Wolfe, Optimal Experience by UIDesign Group
UX Vision, Strategy and Teams by Susan Wolfe, Optimal ExperienceUX Vision, Strategy and Teams by Susan Wolfe, Optimal Experience
UX Vision, Strategy and Teams by Susan Wolfe, Optimal Experience
UIDesign Group12.2K views
Synthetic Monitoring Deep Dive - AppSphere16 by AppDynamics
Synthetic Monitoring Deep Dive - AppSphere16Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16
AppDynamics1.2K views
Testing Tools by Ted Husted
Testing ToolsTesting Tools
Testing Tools
Ted Husted2.8K views
CX Strategy - Presentation to the Human Centred Design Group, Dubai dubai ... by User Vision
CX Strategy - Presentation to the Human Centred Design Group, Dubai    dubai ...CX Strategy - Presentation to the Human Centred Design Group, Dubai    dubai ...
CX Strategy - Presentation to the Human Centred Design Group, Dubai dubai ...
User Vision172 views
UI vs UX workshop by Inova LLC
UI vs UX workshopUI vs UX workshop
UI vs UX workshop
Inova LLC2.2K views
Telling Your UX Metrics Story - The 21st Century Metrics Model by UserZoom
Telling Your UX Metrics Story - The 21st Century Metrics ModelTelling Your UX Metrics Story - The 21st Century Metrics Model
Telling Your UX Metrics Story - The 21st Century Metrics Model
UserZoom1K views
Usability: Part of User Experience (UX) by Edneil Jocusol
Usability: Part of User Experience (UX)Usability: Part of User Experience (UX)
Usability: Part of User Experience (UX)
Edneil Jocusol191 views
Appdynamics Training Session by CodvaTech Labs
Appdynamics Training SessionAppdynamics Training Session
Appdynamics Training Session
CodvaTech Labs649 views
Zoho crm solution | How to use Zoho CRM | Why to use Zoho CRM by Snehil Sharma
Zoho crm solution | How to use Zoho CRM | Why to use Zoho CRMZoho crm solution | How to use Zoho CRM | Why to use Zoho CRM
Zoho crm solution | How to use Zoho CRM | Why to use Zoho CRM
Snehil Sharma3.3K views
Application Performance Monitoring (APM) by Site24x7
Application Performance Monitoring (APM)Application Performance Monitoring (APM)
Application Performance Monitoring (APM)
Site24x74.7K views
Defining and Specifying Functional and Content Requirements by Luis Carlos Aceves
Defining and Specifying Functional and Content RequirementsDefining and Specifying Functional and Content Requirements
Defining and Specifying Functional and Content Requirements
Luis Carlos Aceves6.7K views
Mobile Application Testing by SWAAM Tech
Mobile Application TestingMobile Application Testing
Mobile Application Testing
SWAAM Tech24.5K views
Quora ML Workshop: Maintaining High Quality User-Generated Content through Ma... by Quora
Quora ML Workshop: Maintaining High Quality User-Generated Content through Ma...Quora ML Workshop: Maintaining High Quality User-Generated Content through Ma...
Quora ML Workshop: Maintaining High Quality User-Generated Content through Ma...
Quora701 views

Viewers also liked

Boomerang: How fast do users think your site is? by
Boomerang: How fast do users think your site is?Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?Philip Tellis
3.6K views63 slides
Cine by
CineCine
CineMónica Menjíbar Guerrero
412 views4 slides
Tefa by
TefaTefa
Tefastefycaste332
184 views7 slides
Romanos 10 palavra by
Romanos 10   palavraRomanos 10   palavra
Romanos 10 palavracantandocomahistoria
348 views3 slides
Palestra Encontro Gamer 2016 - FCS na Indústria de Jogos by
Palestra Encontro Gamer 2016 - FCS na Indústria de JogosPalestra Encontro Gamer 2016 - FCS na Indústria de Jogos
Palestra Encontro Gamer 2016 - FCS na Indústria de JogosFabio Lima
284 views73 slides
FIGURAS GEOMETRICAS by
FIGURAS GEOMETRICASFIGURAS GEOMETRICAS
FIGURAS GEOMETRICASsaraycreek
252 views19 slides

Viewers also liked(20)

Boomerang: How fast do users think your site is? by Philip Tellis
Boomerang: How fast do users think your site is?Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?
Philip Tellis3.6K views
Palestra Encontro Gamer 2016 - FCS na Indústria de Jogos by Fabio Lima
Palestra Encontro Gamer 2016 - FCS na Indústria de JogosPalestra Encontro Gamer 2016 - FCS na Indústria de Jogos
Palestra Encontro Gamer 2016 - FCS na Indústria de Jogos
Fabio Lima284 views
FIGURAS GEOMETRICAS by saraycreek
FIGURAS GEOMETRICASFIGURAS GEOMETRICAS
FIGURAS GEOMETRICAS
saraycreek252 views
2б космос by ZoyaSGT
2б космос2б космос
2б космос
ZoyaSGT373 views
презентация by metodkopilka
презентацияпрезентация
презентация
metodkopilka949 views
Vancouver Rebels of Recruiting Roadshow | Ami Price from ATB Financial by Glassdoor
Vancouver Rebels of Recruiting Roadshow | Ami Price from ATB FinancialVancouver Rebels of Recruiting Roadshow | Ami Price from ATB Financial
Vancouver Rebels of Recruiting Roadshow | Ami Price from ATB Financial
Glassdoor1K views
JRuby on Rails Deployment: What They Didn't Tell You by elliando dias
JRuby on Rails Deployment: What They Didn't Tell YouJRuby on Rails Deployment: What They Didn't Tell You
JRuby on Rails Deployment: What They Didn't Tell You
elliando dias3.9K views

Similar to Metrics, metrics everywhere (but where the heck do you start?)

Metrics, metrics everywhere (but where the heck do you start?) by
Metrics, metrics everywhere (but where the heck do you start?) Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?) SOASTA
614 views121 slides
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?) by
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Cliff Crocker
757 views121 slides
Metrics, metrics everywhere (but where the heck do you start?) by
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
3.6K views121 slides
Web Performance Internals explained for Developers and other stake holders. by
Web Performance Internals explained for Developers and other stake holders.Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.Sreejesh Madonandy
742 views24 slides
Site Speed Fundamentals by
Site Speed FundamentalsSite Speed Fundamentals
Site Speed FundamentalsMartin Breest
190 views107 slides
A Modern Approach to Performance Monitoring by
A Modern Approach to Performance MonitoringA Modern Approach to Performance Monitoring
A Modern Approach to Performance MonitoringCliff Crocker
4.6K views50 slides

Similar to Metrics, metrics everywhere (but where the heck do you start?)(20)

Metrics, metrics everywhere (but where the heck do you start?) by SOASTA
Metrics, metrics everywhere (but where the heck do you start?) Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
SOASTA 614 views
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?) by Cliff Crocker
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Cliff Crocker757 views
Metrics, metrics everywhere (but where the heck do you start?) by Tammy Everts
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Tammy Everts3.6K views
Web Performance Internals explained for Developers and other stake holders. by Sreejesh Madonandy
Web Performance Internals explained for Developers and other stake holders.Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.
Sreejesh Madonandy742 views
A Modern Approach to Performance Monitoring by Cliff Crocker
A Modern Approach to Performance MonitoringA Modern Approach to Performance Monitoring
A Modern Approach to Performance Monitoring
Cliff Crocker4.6K views
Edge 2014: A Modern Approach to Performance Monitoring by Akamai Technologies
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance Monitoring
Akamai Technologies2.5K views
Monitoring web application response times, a new approach by Mark Friedman
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approach
Mark Friedman1.5K views
MeasureWorks - Why people hate to wait for your website to load (and how to f... by MeasureWorks
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks2.3K views
Monitoring web application response times^lj a hybrid approach for windows by Mark Friedman
Monitoring web application response times^lj a hybrid approach for windowsMonitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windows
Mark Friedman566 views
Why is this ASP.NET web app running slowly? by Mark Friedman
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?
Mark Friedman3.2K views
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H... by Dakiry
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Dakiry939 views
Performance Testing from Scratch + JMeter intro by Mykola Kovsh
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh2.1K views
Synthetic and RUM - Best of bo by Cliff Crocker
Synthetic and RUM - Best of boSynthetic and RUM - Best of bo
Synthetic and RUM - Best of bo
Cliff Crocker2K views
Connecting the dots between design, performance and conversion rates [Smashin... by Tammy Everts
Connecting the dots between design, performance and conversion rates [Smashin...Connecting the dots between design, performance and conversion rates [Smashin...
Connecting the dots between design, performance and conversion rates [Smashin...
Tammy Everts464 views
A Designer's Guide to Web Performance by Kevin Mandeville
A Designer's Guide to Web PerformanceA Designer's Guide to Web Performance
A Designer's Guide to Web Performance
Kevin Mandeville1.3K views
Improving frontend performance by Sagar Desarda
Improving frontend performanceImproving frontend performance
Improving frontend performance
Sagar Desarda142 views

More from Tammy Everts

A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023] by
A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]
A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]Tammy Everts
137 views96 slides
Real-World Performance Budgets [PerfNow 2022] by
Real-World Performance Budgets [PerfNow 2022]Real-World Performance Budgets [PerfNow 2022]
Real-World Performance Budgets [PerfNow 2022]Tammy Everts
963 views103 slides
2021 Chrome Dev Summit: Web Performance 101 by
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101Tammy Everts
897 views194 slides
Smashing Meets for Speed: Why web performance matters – especially now by
Smashing Meets for Speed: Why web performance matters – especially nowSmashing Meets for Speed: Why web performance matters – especially now
Smashing Meets for Speed: Why web performance matters – especially nowTammy Everts
375 views69 slides
2020 Chrome Dev Summit: Web Performance 101 by
2020 Chrome Dev Summit: Web Performance 1012020 Chrome Dev Summit: Web Performance 101
2020 Chrome Dev Summit: Web Performance 101Tammy Everts
1.3K views175 slides
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019] by
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]Tammy Everts
2.1K views75 slides

More from Tammy Everts(19)

A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023] by Tammy Everts
A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]
A (Fairly) Complete Guide to Performance Budgets [SmashingConf SF 2023]
Tammy Everts137 views
Real-World Performance Budgets [PerfNow 2022] by Tammy Everts
Real-World Performance Budgets [PerfNow 2022]Real-World Performance Budgets [PerfNow 2022]
Real-World Performance Budgets [PerfNow 2022]
Tammy Everts963 views
2021 Chrome Dev Summit: Web Performance 101 by Tammy Everts
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101
Tammy Everts897 views
Smashing Meets for Speed: Why web performance matters – especially now by Tammy Everts
Smashing Meets for Speed: Why web performance matters – especially nowSmashing Meets for Speed: Why web performance matters – especially now
Smashing Meets for Speed: Why web performance matters – especially now
Tammy Everts375 views
2020 Chrome Dev Summit: Web Performance 101 by Tammy Everts
2020 Chrome Dev Summit: Web Performance 1012020 Chrome Dev Summit: Web Performance 101
2020 Chrome Dev Summit: Web Performance 101
Tammy Everts1.3K views
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019] by Tammy Everts
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
Tammy Everts2.1K views
How to create a performance-first culture [2018 WebPerfDays Amsterdam] by Tammy Everts
How to create a performance-first culture [2018 WebPerfDays Amsterdam]How to create a performance-first culture [2018 WebPerfDays Amsterdam]
How to create a performance-first culture [2018 WebPerfDays Amsterdam]
Tammy Everts701 views
The hunt for the unicorn performance metric [DeltaV London 2018] by Tammy Everts
The hunt for the unicorn performance metric [DeltaV London 2018]The hunt for the unicorn performance metric [DeltaV London 2018]
The hunt for the unicorn performance metric [DeltaV London 2018]
Tammy Everts1.8K views
Performance Is About People, Not Metrics [2017 Web Directions Summit] by Tammy Everts
Performance Is About People, Not Metrics [2017 Web Directions Summit] Performance Is About People, Not Metrics [2017 Web Directions Summit]
Performance Is About People, Not Metrics [2017 Web Directions Summit]
Tammy Everts948 views
How to fix the design issues that matter on the pages that matter [2016 Smash... by Tammy Everts
How to fix the design issues that matter on the pages that matter [2016 Smash...How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...
Tammy Everts1.6K views
Using machine learning to determine drivers of bounce and conversion (part 2) by Tammy Everts
Using machine learning to determine drivers of bounce and conversion (part 2)Using machine learning to determine drivers of bounce and conversion (part 2)
Using machine learning to determine drivers of bounce and conversion (part 2)
Tammy Everts1.3K views
Using machine learning to determine drivers of bounce and conversion by Tammy Everts
Using machine learning to determine drivers of bounce and conversionUsing machine learning to determine drivers of bounce and conversion
Using machine learning to determine drivers of bounce and conversion
Tammy Everts5.5K views
The Small Things That Add Up: How to Find What Design Factors Influence Conve... by Tammy Everts
The Small Things That Add Up: How to Find What Design Factors Influence Conve...The Small Things That Add Up: How to Find What Design Factors Influence Conve...
The Small Things That Add Up: How to Find What Design Factors Influence Conve...
Tammy Everts2K views
2016 Mobile State of the Union [RWD Summit] by Tammy Everts
2016 Mobile State of the Union [RWD Summit]2016 Mobile State of the Union [RWD Summit]
2016 Mobile State of the Union [RWD Summit]
Tammy Everts7.1K views
How slow load times hurt UX (and what you can do about it) [FluentConf 2016] by Tammy Everts
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
Tammy Everts15.3K views
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It) by Tammy Everts
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
Tammy Everts22.7K views
2015 State of the Union: Mobile Web Performance by Tammy Everts
2015 State of the Union: Mobile Web Performance2015 State of the Union: Mobile Web Performance
2015 State of the Union: Mobile Web Performance
Tammy Everts1.7K views
Pedal to the Metal: Speed up your load times for more conversions by Tammy Everts
Pedal to the Metal: Speed up your load times for more conversionsPedal to the Metal: Speed up your load times for more conversions
Pedal to the Metal: Speed up your load times for more conversions
Tammy Everts4.9K views
State of the Union: Mobile Web Performance by Tammy Everts
State of the Union: Mobile Web PerformanceState of the Union: Mobile Web Performance
State of the Union: Mobile Web Performance
Tammy Everts4.8K views

Recently uploaded

MOSORE_BRESCIA by
MOSORE_BRESCIAMOSORE_BRESCIA
MOSORE_BRESCIAFederico Karagulian
5 views8 slides
VoxelNet by
VoxelNetVoxelNet
VoxelNettaeseon ryu
7 views21 slides
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P... by
[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P...DataScienceConferenc1
5 views36 slides
UNEP FI CRS Climate Risk Results.pptx by
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptxpekka28
11 views51 slides
CRM stick or twist.pptx by
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptxinfo828217
10 views16 slides
Short Story Assignment by Kelly Nguyen by
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyenkellynguyen01
19 views17 slides

Recently uploaded(20)

[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P... by DataScienceConferenc1
[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...[DSC Europe 23][AI:CSI]  Dragan Pleskonjic - AI Impact on Cybersecurity and P...
[DSC Europe 23][AI:CSI] Dragan Pleskonjic - AI Impact on Cybersecurity and P...
UNEP FI CRS Climate Risk Results.pptx by pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
CRM stick or twist.pptx by info828217
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptx
info82821710 views
Short Story Assignment by Kelly Nguyen by kellynguyen01
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyen
kellynguyen0119 views
Organic Shopping in Google Analytics 4.pdf by GA4 Tutorials
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdf
GA4 Tutorials14 views
Cross-network in Google Analytics 4.pdf by GA4 Tutorials
Cross-network in Google Analytics 4.pdfCross-network in Google Analytics 4.pdf
Cross-network in Google Analytics 4.pdf
GA4 Tutorials6 views
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx by DataScienceConferenc1
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
Advanced_Recommendation_Systems_Presentation.pptx by neeharikasingh29
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptx
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx by DataScienceConferenc1
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx
[DSC Europe 23] Stefan Mrsic_Goran Savic - Evolving Technology Excellence.pptx
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an... by StatsCommunications
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...
OECD-Persol Holdings Workshop on Advancing Employee Well-being in Business an...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... by DataScienceConferenc1
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
3196 The Case of The East River by ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9016 views
Chapter 3b- Process Communication (1) (1)(1) (1).pptx by ayeshabaig2004
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptx
ayeshabaig20046 views
CRM stick or twist workshop by info828217
CRM stick or twist workshopCRM stick or twist workshop
CRM stick or twist workshop
info8282179 views
Data about the sector workshop by info828217
Data about the sector workshopData about the sector workshop
Data about the sector workshop
info82821712 views

Metrics, metrics everywhere (but where the heck do you start?)

  • 1. Metrics, metrics everywhere (but where the heck do you start?)
  • 4. Who cares about performance today? How do I measure performance? How fast am I? How fast should I be? How do I get there?
  • 6. The myth of a single metric
  • 8. Start render DNS TCP TTFB DOM loading DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 9. Who cares about performance?
  • 10. “47% of consumers expect a web page to load in 2 seconds or less.” Akamai, 2009
  • 12. 1s = $27M DNS 144ms Start render 1.59s Hero image render 2.01s
  • 13. How do I measure performance?
  • 18. RUM versus plus synthetic
  • 20. Technology for collecting performance metrics directly from the end user’s browser Involves instrumenting your site via JavaScript Measurements are fired across the network to a collection point through a small request object (beacon)
  • 21. What makes RUM great  Always on  Every user, every browser, everywhere  Able to capture human behavior/events  Only getting better
  • 22. Questions your RUM data can answer
  • 24. How do visitors move through my site?
  • 25. How are my third-party scripts performing in real time?
  • 26. What impact does performance have on my business?
  • 28. Uses automated agents (bots) to measure your website from different physical locations A set “path” or URL is defined Tests are run either ad hoc or scheduled, and data is collected
  • 29. What makes synthetic monitoring great  Rich data collected (waterfall, video, filmstrip, HTTP headers)  Consistent “clean room” baseline  Nothing to install  Doesn’t require users / ability to measure pre-production and competition
  • 30. Questions your synthetic data can answer
  • 31. How do I compare to the competition?
  • 32. How does the design of my pages affect performance?
  • 33. How does the newest version of my site compare to previous versions?
  • 34. How well am I sticking to my performance budget?
  • 35. What if my third parties fail? Original: 3.5s SPOF: 22.7s
  • 37. 36© 2014 SOASTA CONFIDENTIAL - All rights reserved. Why are these numbers so different? I don’t trust your data. Your numbers are wrong. How are you calculating page load time? I can’t share two sets of numbers with the business?
  • 38. “But it loads so much faster for me!?!” 2015 Macbook Pro Warm browser cache FIOS X86 – Windows 7 VM Completely cold cache/DNS Throttled bandwidth
  • 45. Browser support for Navigation Timing
  • 46. 45© 2014 SOASTA CONFIDENTIAL - All rights reserved. Network operations Front-end developer Marketing and site operations Designer C-level
  • 48. I need visibility into…  issues with authoritative DNS servers  impact of denial of service attacks on end users  efficiency of connection re-use  tier 1 connectivity issues (load balancer, web server)
  • 49. Start render DNS TCP TTFB DOM loading DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 50. Measuring DNS and TCP function getPerf() { var timing = window.performance.timing; return { dns: timing.domainLookupEnd - timing.domainLookupStart}; connect: timing.connectEnd - timing.connectStart}; }
  • 51. What’s with all those zeros!  Connection reuse  DNS caching  Prefetching
  • 52. Focus on higher percentiles 85th percentile Median (50th)
  • 53. Use case: Measure front-end browser events
  • 54. How do I…  understand the impact of back-end versus front-end on page speed?  investigate how DOM complexity affects performance?  measure a “fully loaded” page?
  • 55. Start render DNS TCP TTFB DOM load event DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 57. Isolate front-end vs. back-end function getPerf() { var timing = window.performance.timing; return { ttfb: timing.responseStart - timing.connectEnd}; basePage: timing.responseEnd - timing.responseStart}; frontEnd: timing.loadEventStart - timing.responseEnd}; }
  • 60. Investigate DOM events function getPerf() { var timing = window.performance.timing; return { DLoading: timing.domLoading – timing.navigationStart}; DInt: timing.domInteractive – timing.navigationStart}; DContLoaded: timing.domContentLoadedEventEnd – timing.navigationStart; DContLoadTime: timing.domContentLoadedEventEnd – timing.domContentLoadedEventStart}; DComplete: timing.domComplete - timing.navigationStart}; PLoad: timing.loadEventStart -
  • 61. 2618 DOM nodes 86 DOM nodes Visualizing DOM complexity
  • 63. I need to understand…  how third-party content affects my performance  how long a group of assets takes to download  how assets served by a CDN are performing
  • 64. Start render DNS TCP TTFB DOM loading DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 66. Browser support for Resource Timing
  • 67. Cross-Origin Resource Sharing (CORS) Start/End time only unless Timing-Allow-Origin HTTP Response Header defined Timing-Allow-Origin = "Timing-Allow-Origin" ":" origin-list- or-null | "*"
  • 68. Resource Timing var rUrl = ‘http://www.akamai.com/images/img/cliff-crocker- dualtone-150x150.png’; var me = performance.getEntriesByName(rUrl)[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 } Measuring a single resource
  • 69. Other uses for Resource Timing  Slowest resources  Time to first image (download)  Response time by domain  Time a group of assets  Response time by initiator type (element type)  Cache-hit ratio for resources For examples see: https://github.com/lognormal/beyond-page-metrics
  • 70. Using Resource Groups PLT impact not due resource groups PLT impact correlates with improvement from image domains
  • 71. Use case: Measure the user experience
  • 72. I just need to understand…  when users perceive the page to be ready  how long until my page begins to render  when content above the fold is visible
  • 73. Start render DNS TCP TTFB DOM loading DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 74. The fallacy of “First Paint” in the wild  Support for First Paint is not standardized between browsers  Metric can be misleading (i.e. painting a white screen)
  • 75. First Paint is not equal to Start Render! Chrome – “First Paint” True Start Render
  • 76. Start Render and filmstrips
  • 77. User Timing Interface  Allows developers to measure performance of their applications through high-precision timestamps  Consists of “marks” and “measures”  PerformanceMark: Timestamp  PerformanceMeasure: Duration between two given marks
  • 78. Measure duration between two marks performance.mark(“startTask”); //Some stuff you want to measure happens here performance.mark(“stopTask”); //Measure the duration between the two marks performance.measure(“taskDuration”,“startTask”,“stopTask”);
  • 79. How long does it take to display the main product image on my site?
  • 80. Record when an image loads <img src=“image1.gif” onload=“performance.mark(‘image1’)”> For more interesting examples, see: Measure hero image delay http://www.stevesouders.com/blog/2015/05/12/hero-image-custom-metrics/ Measure aggregate times to get an “above fold time” http://blog.patrickmeenan.com/2013/07/measuring-performance-of-user- experience.html
  • 81. How do I measure performance when the onload event no longer matters? Use case: Measure performance of SPAs
  • 83. Measuring SPAs • Accept the fact that onload no longer matters • Tie into routing events of SPA framework • Measure downloads during soft refreshes • (support in boomerang.js for Angular and other SPA frameworks) See: http://www.soasta.com/blog/angularjs-real-user- monitoring-single-page-applications/
  • 86. I need to understand…  how performance affects business KPIs  how our site compares to our competitors
  • 87. Start render DNS TCP TTFB DOM loading DOM ready Page load Fully loaded User timing Resource timing Requests Bytes in Speed Index Pagespeed score 1s = $$ DOM elements DOM size Visually complete Redirect SSL negotiation
  • 90. 2% increase in conversions for every 1 second of improvement
  • 91. Cut load times in half Increased sales by 13%
  • 93. So what? You must look at your own data.
  • 96. Not all pages are created equal For a typical ecommerce site, conversion rate drops by up to 50% when “browse” pages increase from 1 to 6 seconds
  • 97. Not all pages are created equal However, there is much less impact to conversion when “checkout” pages degrade
  • 99. How do I get there?
  • 101. Create a performance budget See: Setting a Performance Budget http://timkadlec.com/2013/01/setting-a-performance-budget/ Performance Budget Metrics http://timkadlec.com/2014/11/performance-budget-metrics/
  • 103. “Response time measured using resource timing from Chrome browsers in the United States should not exceed a median (50th percentile) of 100ms or a 95th percentile of 500ms for a population of more than 500 users in a 24-hour period.”
  • 104. “Vendor will make an effort to ensure average response times for content is within reasonable limits.”
  • 106. Chapter 8: Changing Culture at Your Organization
  • 109. Meet us at booth #801

Editor's Notes

  1. In this example, I’ve shown the impact of performance (Page Load time) on the Bounce rate for two different groups of sites. Site A: A collection of user experiences for Specialty Goods eCommerce sites (luxury goods)) Site B: A collection of user experiences for General Merchandise eCommerce sites (commodity goods) Notice the patience levels of the users after 6s for each site. Users for a specialty goods site with fewer options tend to be more patient. Meanwhile users that have other options for a GM site continue to abandon at the same rate.
  2. The relationship between speed and behavior is even more noticeable when we look at conversion rates between the two sites. Notice how quickly users will decide to abandon a purchase for Site A, versus B.
  3. Another important aspect is the realize all pages are not created equal. In this study of retail, we found that pages that were at the top of the funnel (browser pages) such as Home, Search, Product were extremely sensitive to user dissatisfaction. As these pages slowed from 1-6s, we saw a 50% decrease in the conversion rate!
  4. However, when we looked at pages deeper in the funnel like Login, Billing (checkout pages) – users were more patient and committed to the transaction.