~/talk

A Rails performance guidebook: from 0 to 1B requests/day

Talkat RubyConf TH 2022 · 2022-12-09..12-10· [web-performance, ruby-on-rails]
slides:none on file

Rails service handles over 2 billion requests/day at Zendesk, with relational stores ~400 TB and a single sharded table hitting 60 TB. Practical fixes: add APMs and sampling, set latency error budgets and watch p99 latency, fix N+1s, add proper indexes and use pluck/select to avoid fetching gigabytes. Build a write-through cache for precomputed API views, archive closed tickets after 120 days to cold storage (90%+ of data), apply per-customer sharding, rate limits, and async writes — these measures work and cut compute and outages.

AI-written summary · about

  1. 0:00Rails scaling challenges
  2. 2:07Why Rails feels easy to scale
  3. 5:14Scaling Rails reality
  4. 7:40Performance engineering mindset
  5. 8:25Monitoring performance role
  6. 10:51Database optimizations
  7. 13:42P99 latency importance
  8. 14:23Caching strategies at scale
  9. 16:33Doraemon paradox
  10. 19:03Cold storage scaling
  11. 21:35Archiving data load
  12. 23:01Products and performance limits
  13. 24:50Bloated API dangers
  14. 25:50Slow workflows breakdown
  15. 27:58Large customers handling
  16. 29:00Performance trade-offs
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.