Top Banner
45

Rum first london web perf meetup

Jul 02, 2015

Download

Technology

Cliff Crocker
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rum first   london web perf meetup
Page 2: Rum first   london web perf meetup

Who I Am

Cliff Crocker

VP Product

SOASTA, Inc.

@cliffcrocker

Page 3: Rum first   london web perf meetup

http://www.flickr.com/photos/luc/

Real Users

Page 4: Rum first   london web perf meetup

http://www.flickr.com/photos/spullara/

Happy Users

Page 5: Rum first   london web perf meetup

http://www.flickr.com/photos/sybrenstuvel/

Not SoHappy

Page 6: Rum first   london web perf meetup

RUM 101Real User Measurement (RUM) is a technology for collecting performance metrics directly from the browser of an end user.

• Involves instrumentation of the page with JavaScript

• Measurements are fired across the network to a collection point through a small request object (beacon)

<JS>MySite.com

<beacon>

Page 7: Rum first   london web perf meetup

Origins of RUM2005-6: Steve S. builds

JS tool to measure page load from the browser during a Yahoo! hackday

2008: Steve open sources ‘Episodes’. White pages open

sources ‘Jiffy’

2010: Yahoo! Open sources

‘boomerang.js’ the same day Navigation Timing is introduced

in IE9 beta

• http://stevesouders.com/episodes/• https://code.google.com/p/jiffy-web/• http://lognormal.github.com/boomerang/doc/• https://dvcs.w3.org/hg/webperf/raw-

file/tip/specs/NavigationTiming/Overview.html

Page 8: Rum first   london web perf meetup

This helped…

Page 9: Rum first   london web perf meetup

Navigation Timing API

• Exposes network level timing details to JavaScript

• DNS lookup, TCP connect, SSL handshake, First Byte time, and more

• For a given web request, you can tell exactly where the time was spent

• Supported by IE >= 9, Chrome >=6, Firefox >=7, Android Browser .=4.0, others

• No exposure into rendering times

Page 10: Rum first   london web perf meetup

C’mon Safari, be cool…

http://caniuse.com/nav-timing

~70% Browser Support

Page 11: Rum first   london web perf meetup

Why RUM is Awesome

• Reduces the level of convincing we have to do within our organization that ‘faster is better’

• The only way to measure perceived performance from your end user

• Easy to maintain

• Only getting better…– Check out:http://blog.patrickmeenan.com/2013/07/measuring-

performance-of-user-experience.html• User Timing for RUM and Synthetic

– Fun with resource timing: https://github.com/andydavies/waterfall

Page 12: Rum first   london web perf meetup

What gives??

No RUM

RUM • According to a study done in 2012* only 1 in 5 of the top ecommerce sites are using some form of RUM

*http://www.webperformancetoday.com/2012/11/13/real-user-monitoring-rum-ecommerce-sites/

Page 13: Rum first   london web perf meetup

Challenges with RUM

1. It’s a “data” problem

2. People don’t like change

3. Hard to “sell” internally

Page 14: Rum first   london web perf meetup

For a modest sized site, in a given day

1-3 Million Page Views

Perf Timing

User Agent

OS/Device

Geography

Page Segmentation

Bandwidth Classification

A/B Bucket

‘Other’

Page 15: Rum first   london web perf meetup
Page 16: Rum first   london web perf meetup

Many have advocated aggressive sampling of data…

Page 17: Rum first   london web perf meetup

~1% sample, looking at a period of about 3 hours for a given page segment (Checkout)

1% > checkout

Page 18: Rum first   london web perf meetup

Filtered to the United States…

1% > > checkout

Page 19: Rum first   london web perf meetup

Looking specifically at California…

1% > > > checkout

Page 20: Rum first   london web perf meetup

IE9 Browsers only.

1% > > > checkout

Page 21: Rum first   london web perf meetup

Looking at all traffic.

100% > checkout

Page 22: Rum first   london web perf meetup

All filters applied, identified bimodal distribution driven by backend time.

100% > > > checkout

> backend time

Page 23: Rum first   london web perf meetup

Sampled at 1%

Not sampled

Page 24: Rum first   london web perf meetup

To be fair…

Read: http://www.webperformancetoday.com/2013/03/06/big-

data-vs-big-enough-data/

Page 25: Rum first   london web perf meetup

Many use a batch solution…

Page 26: Rum first   london web perf meetup

• Batch processing large amounts of data has been a traditional approach for RUM

– Great for looking at historical data, trending, etc.

– Big Data is not necessarily Fast Data

• Not ‘Operational’

Page 27: Rum first   london web perf meetup

In order for RUM to be operationally relevant, you need the data in real-time

Page 28: Rum first   london web perf meetup

Synthetic vs. RUM

http://www.flickr.com/photos/myvector/

Page 29: Rum first   london web perf meetup

It is Not Either Or

• Synthetic and RUM coexist

• Important to understand:

– Geographic performance

– Object level detail (waterfall)

– Browser performance

– Competitive positioning

– Site coverage

Page 30: Rum first   london web perf meetup

Performance by Geography

RUM

Page 31: Rum first   london web perf meetup

????

Performance by Geography

Synthetic

Page 32: Rum first   london web perf meetup

Understanding Performance by Geography

• RUM provides better visibility into geographic variability (simply more data points from more locations)

RUM 1

Synthetic 0

Page 33: Rum first   london web perf meetup

Object Level Detail

RUM 1

Synthetic 1

Waterfall available for most major browsers available for synthetic monitoring (IE, FF (Commercial), Chrome, Safari)

Limited support for waterfall using resource timing (IE10 & Chrome stable) – using waterfall.js

Page 34: Rum first   london web perf meetup

Browser Coverage

RUM 2

Synthetic 1

SyntheticSupport for major browsers

Commercial (mainstream synthetic)

WebPagetestsupport

RUMSupport for any browser that executes JS

Page 35: Rum first   london web perf meetup

Competitive Positioning

RUM 2

Synthetic 2

Synthetic

Ability to measure competitors easily

RUM

More complex, no standard benchmarks (yet!)

Commercial offerings

WebPagetest.org

Page 36: Rum first   london web perf meetup

Site Coverage

RUM 3

Synthetic 2

Synthetic

Choose a ‘happy path’ or spot check

RUM

No blind spots!

http://scoutmastercg.com/wp-content/uploads/typimg/green_laser.png

http://www.flickr.com/photos/areese/with/4002609608/

Page 37: Rum first   london web perf meetup

Synthetic Monitoring

• Pros

– Technology is great

– Real Browsers (IE, Chrome, FF)

– Built in Alerting

– Waterfall analysis

– Screen shots & headers

– Object level detail

• Cons

– False Positives

– Impossible/impractical to measure everything

– Fixed number of browser/OS combinations

– Simulated bandwidth constraints at best

– Too few data points for statistical relevance

Page 38: Rum first   london web perf meetup

RUM

Cast a wide net• Identify key areas of concern• Understand real user impact• Tie this back to $$ (next)

Synthetic

Diagnostic tool• Identify issues in a ‘lab’• Reproduce a problem found with

RUM

http://www.flickr.com/photos/84338444@N00/with/3780079044/

http://www.flickr.com/photos/ezioman/

Page 39: Rum first   london web perf meetup

RUM in the Workplace

Page 40: Rum first   london web perf meetup

Studies show…

Page 41: Rum first   london web perf meetup

However, you have to look at your own data

Page 42: Rum first   london web perf meetup

Understand your KPIs and How to Track Them

• Retail: Order Conversion, Add to Cart Conversion, Revenue

• Media: In Line Display Ad Views, Comments,

• Other: Facebook likes/Social Media sharing

Page 43: Rum first   london web perf meetup

Bottom Line, if you want your business to care – then make it relevant for

them (speak their language)

Page 44: Rum first   london web perf meetup

Strategy for Success – RUM First

RUM First

• All the data (or statistically relevant sample)

• Real-time and historical

Supplement with

Synthetic

• Reduce measurements based on coverage with RUM

• Use for adhocdiagnostic & competitive benchmarking

Map to business

KPIs

• YOUR goals

• YOUR data

• Single source of truth

Page 45: Rum first   london web perf meetup

mPulse Litehttp://www.soasta.com/free/