~/talk

The Road to 2 Million Websocket Connections in Phoenix

Talkat ElixirConf EU 2016 · 2016-05-11..05-12· [web-performance]
links:none on file
slides:none on file

Benchmarks use the Tsung tool to hold WebSocket connections and drive arrival rates; Phoenix channels hit real limits that get identified and fixed. Specific fixes include removing expensive timer.send_after heartbeats, switching ETS tables to duplicate_bag for subscriber storage, sharding pubsub with a local pool and tuning pool size, and inspecting queues with observer. Tests run on donated hardware up to 128 GB RAM 40 cores and reach about 1.2 million connections, showing which changes actually double or eliminate bottlenecks.

AI-written summary · about

  1. 0:00Introduction
  2. 1:16Why benchmark
  3. 2:10Challenges in benchmarking
  4. 4:42Tools for load testing
  5. 5:31Tsung configuration
  6. 7:19Load and session setup
  7. 9:12Tsung dashboard and metrics
  8. 12:10Initial test results
  9. 14:23Optimization 1: ETS tables
  10. 15:41Optimization 2: Timers
  11. 17:36Hardware scaling
  12. 21:15Optimization 3: ETS types
  13. 23:26Reaching one million
  14. 24:55Optimization 4: Parallelism
  15. 27:20Final 2 million milestone
  16. 29:36Optimization lessons
  17. 32:11Common issues and setup
  18. 34:18Scaling automation
  19. 35:05Future work
  20. 37:16Q&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.