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
Ruby Nation Takeaway
By brigittewarner
Ruby Nation Takeaway
- 797