Real World Ruby Performance at Scale
summary
Claims concrete wins: Ruby 2.1 tools actually shave tail latencies and make production profiling safe. Uses PB profiler (meta-runner of benchmark, RBlineprof, memory_profiler), stackprof / stackprof-remote for production sampling, and memcache key hoisting. Finds a bad DNS-backed statsd send and cuts nested JSON generation from ~1.6s per item to ~30ms per item, shows occasional 1-in-10k cache misses drive p90 spikes, and proves iterative measure-change-confirm fixes work even when big cliffs don’t appear.
AI-written summary · about
chapters (29)
- 0:00Start
- 0:11Real World Ruby Performance at Scale Aaron Quint
- 1:58SKIPPING THE INTRO
- 2:48TIPS AND TRICKS ARE THE CLIFF NOTES OF TECH LEARNING
- 3:52RUBY PERFORMANCE AS THERAPY
- 4:51PERFORMANCE IS ABOUT CONTEXT
- 7:17METRICS! MEASUREMENT! MMMNUMBERS MILLISECONDS MATTER!
- 7:49TOOLS ABOUND!
- 8:14WHAT ARE THE STEPS TO FIX THIS PROBLEM?
- 8:40TWO ANGLES OF OPTIMIZATION
- 9:27VERTICAL: FIX INDIVIDUAL ELEMENTS aka, speeding up a single query, controller action, or code path
- 9:42HORIZONTAL: ADDRESS HARDWARE OR SOFTWARE ACROSS A CLUSTER
- 10:06CONTEXT IS CRUCIAL TO ACCEPTANCE
- 10:24KNOWING YOUR TOOLS IS CRUCIAL TO TREATMENT
- 12:35FEATURES VS. SPEED
- 13:06WE REALIZED THAT BEING FAST MEANT BEING STABLE
- 13:50CASE STUDIES IN PERFORMANCE THERAPY
- 14:01JSON FOR DAYS
- 17:49UNCACHED PERFORMANCE IS STILL A PROBLEM
- 18:08PPPROFILER TO THE RESCUE
- 21:54MAKE THE SLOWEST LINES FASTER Rinse and Repeat
- 23:25FINGER IN THE SOCKET
- 23:35BEFORE VDAY WE WERE LOOKING FOR ANY WINS
- 27:34HMM, WHY IS STATSD SLOW?
- 29:20THE HOLIDAY SCALE
- 31:45SHRINKING THE GAP
- 39:33BIG WINS ARE NOT THE POINT
- 40:29IF YOU'RE NOT FAILING YOU'RE NOT BEING HONEST
- 41:02DON'T JUST MAKE TOOLS, LEARN TO USE THEM
related talks
37mThe Future of Ruby Performance Tooling
41mHigh Performance Ruby
34mMetric Driven Development with Ruby on Rails
33mFixing Performance & Memory problems
29mHow to Performance
39m"300x faster ruby"
37mCache is King: Get the Most Bang for Your Buck From Ruby
38mFinding a needle in the haystack - Debugging performance issues
