Going CPU Bound
summary
Claims a single node can reach 40,000 transactions per second after four months of tuning, using an Elixir stack plus Postgres and a custom traffic multi-tool to simulate up to 500 million requests and 100k concurrent sessions. Finds the real bottleneck is the Erlang process mailbox — the message queue (process mailbox) bottleneck — fixed by switching to Flow or changing max_concurrency and mapping strategy, trimming logging and JSON encoding overhead, adding Prometheus metrics, and getting steady gains from a 40% boost up to 10× in high-throughput scenarios.
AI-written summary · about
chapters (11)
- 0:00CPU-bound challenges
- 2:16Traffic simulation analysis
- 4:45Performance testing methodology
- 6:49Elixir for transaction processing
- 9:16HTTP client performance
- 12:48Concurrency bottlenecks
- 15:13HTTP concurrency limits
- 17:42Message queue overflow fixes
- 19:47JSON encoding benchmarking
- 21:30Performance regression tracking
- 22:53Long simulation queueing
related talks
45mElixir: une potion pour mixer complexité et concurrence en temps réel
45mElixir and the Internet of Things
30mCan Elixir Bring Down Phoenix?
42mThe Soul of Erlang and Elixir
46mEliminating Single Process Bottlenecks with ETS Concurrency Patterns
53mElixir: a potion to mix complexity and concurrency in real‑time
38mElixir Adoption at Scale: A Comprehensive Guide
03h 19mWorkshop - All Aboard The Elixir Express!
