Beyond Averages - Web Performance Meetup

62
BEYOND AVERAGES Dan Kuebrich / @dankosaur

description

When raw data becomes overwhelming, we turn to abstraction to understand our world. In examining the performance of our systems, the data is always overwhelming. Solutions like summary statistics have come to our rescue, and they are good—up to a point. In order to truly understand our systems, we need to know when and how to sidestep those abstractions,to get deep, detailed performance insight. At this meetup, I’ll explore techniques for visualizing the underlying structure of performance data and how this empowers drilling down to populations and individual samples in the data set.

Transcript of Beyond Averages - Web Performance Meetup

Page 1: Beyond Averages - Web Performance Meetup

BEYOND AVERAGESDan Kuebrich / @dankosaur

Page 2: Beyond Averages - Web Performance Meetup

Beyond Averages

• Abstraction: summary statistics for performance data

• Why performance data is hard

• Visualizing data distributions

Page 3: Beyond Averages - Web Performance Meetup
Page 4: Beyond Averages - Web Performance Meetup
Page 5: Beyond Averages - Web Performance Meetup

A few of my favorite abstractions

Page 6: Beyond Averages - Web Performance Meetup

A few of my favorite abstractions• Abstraction lets us trade information for

actionability

Page 7: Beyond Averages - Web Performance Meetup

A few of my favorite abstractions• Abstraction lets us trade information for

actionability

• Min, max, average (“mean”), quantiles, stdev

Page 8: Beyond Averages - Web Performance Meetup

A few of my favorite abstractions• Abstraction lets us trade information for

actionability

• Min, max, average (“mean”), quantiles, stdev

• That’s a great trade! • ... right?

Page 9: Beyond Averages - Web Performance Meetup

Averages: average at best

Page 10: Beyond Averages - Web Performance Meetup

Averages: average at best

Page 11: Beyond Averages - Web Performance Meetup

Averages: average at best

Page 12: Beyond Averages - Web Performance Meetup

Averages: average at best

Page 13: Beyond Averages - Web Performance Meetup

Averages vs Percentiles

[1, 16, 17, 19, 13, 5, 20, 3, 10, 14, 8]

Page 14: Beyond Averages - Web Performance Meetup

Averages vs Percentiles

[1, 3, 5, 8, 10, 13, 14, 16, 17, 19, 20]

Page 15: Beyond Averages - Web Performance Meetup

Averages vs Percentiles

[1, 3, 5, 8, 10, 13, 14, 16, 17, 19, 20]

Average (Mean): 11.54

Median (50th Percentile): 13 90th Percentile: 19

Page 16: Beyond Averages - Web Performance Meetup

Percentiles: 1 of 100 slices95%

X

Page 17: Beyond Averages - Web Performance Meetup

Percentiles: 2 of 100 slices95%

10%

X

Y

Page 18: Beyond Averages - Web Performance Meetup

Percentiles: 2 of 100 slices95%

10%

Page 19: Beyond Averages - Web Performance Meetup

Percentiles: 2 of 100 slices95%

10%

Page 20: Beyond Averages - Web Performance Meetup

Percentiles: 2 of 100 slices95%

10%

Page 21: Beyond Averages - Web Performance Meetup

Computers are hard• Rarely do we have a single distribution underlying the

data

• Different users, different requests, different resources, different instances, different times

Page 22: Beyond Averages - Web Performance Meetup

Percentiles vs Distributions

http://en.wikipedia.org/wiki/Percentile

Page 23: Beyond Averages - Web Performance Meetup

Percentiles vs Distributions

[13, 13, 13, 13, 13, 13, 19, 19, 19, 19, 19]

Median (50th Percentile): 13 90th Percentile: 19

Page 24: Beyond Averages - Web Performance Meetup

Rarely do we have a single normal distribution underlying the data

Page 25: Beyond Averages - Web Performance Meetup
Page 26: Beyond Averages - Web Performance Meetup

Median Mean 90th

Page 27: Beyond Averages - Web Performance Meetup
Page 28: Beyond Averages - Web Performance Meetup
Page 29: Beyond Averages - Web Performance Meetup
Page 30: Beyond Averages - Web Performance Meetup

Median Mean 90th

Page 31: Beyond Averages - Web Performance Meetup

The Log-Normal Distribution

(source: http://www.geo.mtu.edu/volcanoes/vc_web/background/S_chem.html)

Page 32: Beyond Averages - Web Performance Meetup

Log-Normal Distribution

(source: http://en.wikipedia.org/wiki/File:Comparison_mean_median_mode.svg)

Page 33: Beyond Averages - Web Performance Meetup

Log-Normal Distribution

(source: http://en.wikipedia.org/wiki/File:Comparison_mean_median_mode.svg)

Page 34: Beyond Averages - Web Performance Meetup

Log-Normal Distribution

Page 35: Beyond Averages - Web Performance Meetup

Is there a place between Averageland and “A Beautiful Mind”?

http://now-here-this.timeout.com/2012/10/07/crazy-walls-of-clues-from-tv-film-reviewed-by-carrie-from-homeland/

Page 36: Beyond Averages - Web Performance Meetup

Histograms

Freq

uenc

y (e

g. #

of c

alls

)

Value (eg. latency)

Page 37: Beyond Averages - Web Performance Meetup

Populations revisited95%

10%

Page 38: Beyond Averages - Web Performance Meetup

HistogramsFr

eque

ncy

(eg.

# o

f cal

ls)

Value (eg. latency)

Page 39: Beyond Averages - Web Performance Meetup

Populations re-revisited95%

10%?

Page 40: Beyond Averages - Web Performance Meetup

3d Histograms?

Freq

uenc

y (e

g. #

of c

alls

)

Value (eg. latency)

Page 41: Beyond Averages - Web Performance Meetup

3d Histograms?Fr

eque

ncy

(eg.

# o

f cal

ls)

Value (eg. latency)

Time

Page 42: Beyond Averages - Web Performance Meetup

Heatmaps

Freq

uenc

y (e

g. #

of c

alls

)

Value (eg. latency)

Page 43: Beyond Averages - Web Performance Meetup

HeatmapsFr

eque

ncy

(eg.

# o

f cal

ls)

Value (eg. latency)

Page 44: Beyond Averages - Web Performance Meetup

HeatmapsFr

eque

ncy

(eg.

# o

f cal

ls)

Value (eg. latency)

Page 45: Beyond Averages - Web Performance Meetup

HeatmapsVa

lue

(eg.

late

ncy)

Time

Page 46: Beyond Averages - Web Performance Meetup

HeatmapsVa

lue

(eg.

late

ncy)

Time

Page 47: Beyond Averages - Web Performance Meetup

Latency in the wild…

http://sciencefiction.com/2013/10/24/throwback-thursday-jurassic-park/

Page 48: Beyond Averages - Web Performance Meetup

Average, or Absolute?

Page 49: Beyond Averages - Web Performance Meetup

Average, or Absolute?

Page 50: Beyond Averages - Web Performance Meetup

Multi-modal Data

Page 51: Beyond Averages - Web Performance Meetup

Multi-modal Data

Page 52: Beyond Averages - Web Performance Meetup

Multi-modal Drill-down

Page 53: Beyond Averages - Web Performance Meetup

Multi-modal Drill-down

Page 54: Beyond Averages - Web Performance Meetup

Multi-modal Drill-down

Page 55: Beyond Averages - Web Performance Meetup

Long Tails and Outliers

Page 56: Beyond Averages - Web Performance Meetup

bottom 98%

Long Tails and Outliers

Page 57: Beyond Averages - Web Performance Meetup

bottom 98%

Long Tails and Outliers

Page 58: Beyond Averages - Web Performance Meetup

all of it

Long Tails and Outliers

Page 59: Beyond Averages - Web Performance Meetup

Added Population

Page 60: Beyond Averages - Web Performance Meetup

Added Population

Page 61: Beyond Averages - Web Performance Meetup

Added Population

Page 62: Beyond Averages - Web Performance Meetup

Thanks!

Sign up for a free TraceView account at appneta.com/products/traceview-free-account