~/talk

Troubleshooting the Performance of a Large Erlang System

Talkat Erlang 2022 · on Sunday, 2022-09-11· [elixir-and-erlang]
links:none on file
links:none on file
slides:none on file

Hyper‑Q is a 2 million line Erlang system with ~1000 modules that virtualizes SQL; a customer query returning 16 million rows × 20 columns runs 1 minute on the target DB but Hyper‑Q adds about 4 minutes. Engineers use Cprof/eprof/fprof to triangulate the hotspot to result conversion, implement bespoke formatters (date formatter 16× faster, customer queries ~20% faster), add small C NIFs and binary pattern matching, and cut a 60M‑row run from 300s to 181s while raising conversion from 6.3 to 10.5 MB/s.

AI-written summary · about

  1. 0:00Intro
  2. 0:23Introduction to Datometry/Hyper-Q
  3. 2:08Customer Incident
  4. 3:12In house reproduction
  5. 5:41Identifying Dominant Cost
  6. 7:20Profiling Code
  7. 13:11Optimization Example
  8. 16:15Profiling Takeaways
  9. 17:18Binary Optimizations
  10. 19:4220% performance improvement
  11. 21:30Binary Optimization Takeaways
  12. 22:24Additional optimizations
  13. 24:49Lessons Learned
~/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.