(...) Rewriting an Existing PubSub Erlang System
summary
Rewrites a legacy PubSub into Erlang: models 130,000 top-level nodes as processes, uses a single socket reader plus ETS as a buffer, spawns per-client processes and per-node mailbox processes so the system runs ~260,000 worker processes, and tests with production traces (100k concurrent clients). Discovers GC reduction penalties and that disabled Transparent Huge Pages fixes regular uninterruptible sleeps. Outcome: throughput and latency mostly <100 ms, predictable spikes up to ~10 s under extreme replay.
AI-written summary · about
chapters (5)
related talks
49mThinking in a Highly Concurrent, Mostly-functional Language
48mSynchronizing Game Components
34mBeyond OTP
38mThree Games In Elixir
23mDecomposition of the Main Thread in Node.js to increase throughput
31mClojure at 4,000 msg/s-What We Learned, Loved, and Loathed
01h 00mTrading at light speed: designing low latency systems in C++
32mShattering your application into an umbrella project
