Ahead of the Curve

Time is Money.

Amazon's calculated that a page load slowdown of just one second could cost it $1.6 billion in sales each year.

 

A 1 second delay in page response can result in a 7% reduction in conversions.

Page abandonment

Development /= Production

We Avoid Surprises

by considering metrics, networks, hardware, and data stores in production environments.

Pain Points to Consider

  • Routing
  • Requests
  • VM lag
  • Runtime
  • Distributed Data Stores
  • Relying on the Mean

Means

  • Mask Problems
  • Are Skewed by Outliers
  • Are Split by Multiple Modes

Let's look at response data from hundreds of servers

Response Data

​"Determined quantitatively, using tests and a survey of hundreds of production servers and different types of latency: over 95% had six-sigma outliers, and at least 20% had multiple modes."

Shape of Distribution + Mean

MySQL command latency from 35 random production servers

Shape of Distribution + Mean

Mean Butterfly Plot (centered on mean)

Shape of Distribution + Mean

How can six blocks balance two? In the MySQL example latency distributions, the tail is relatively long, and doesn’t need as much mass to balance the closer mode on the right.

Collecting Metrics for Balance

  • Chrome Developer Tools
  • Ember Inspector 
  • Skylight

Chrome Developer Tools

Ember Inspector

Skylight

At no point did our data look like this:

Who's Excited for

Metrics from Our Users?!

Ruby Nation

  • rubygems.next by Nick Quaranto
  • Compiling A Dependently Typed Language To Ruby by Mike Bernstein
  • Managing Distributed Teams by Maria Gutierrez

Ruby Nation

  • Front-End Development in Ruby with Opal and Clearwater by Jamie Gaskins
  • Dropping down to The Metal™ by Godfrey Chan
  • Create Your Own Programming Language! by Nick Heiner

Development was the easy part (Ruby Nation 2015) - André Arko

What the Mean Really Means (http://dtrace.org/blogs/brendan/page/5/) - Brendan Gregg

Thanks to

Made with Slides.com