~/talk

Building blocks and How to Use Them: A MongooseIM Case Study

Talkat Code BEAM America 2022 · 2022-11-03..11-04· [open-source, elixir-and-erlang]
slides:none on file

MongooseIM is an Erlang XMPP server that shows concrete refactors: a single persistor term config replaces nested ETS, the XML parser moves to a non-yielding NIF for small messages, and a workerpool index change to persistent_term cuts lookup CPU from 15.56% to 0.22%. Load tests show 137,000 connections on a 2‑CPU C5.large and up to 2.5 million connections on large machines. Extracted libraries (base16, CSV, fast_scrypt, fast_tls, GraphQL front end) are published to Hex and used in production.

AI-written summary · about

  1. 0:00Introduction
  2. 2:06MongooseIM scalability overview
  3. 5:18Configuration building blocks
  4. 9:57Event handling and telemetry
  5. 13:10Worker pools and API
  6. 15:57Open source libraries evolution
  7. 23:17Observability and logging
  8. 24:42Security with Fast TLS and SCram
  9. 28:17Segmented cache optimizations
  10. 32:54Open source contributions and testing
  11. 33:36Worker pool optimizations
  12. 36:07GraphQL and HTTP tools
  13. 37:13Database and ODBC adaptations
  14. 38:19Debugging tools
  15. 40:05Closing and Q&A
~/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.