Keynote: Off the Rails
summary
Discourse runs off-the-rails extensions: a production-tested message_bus gem that gives reliable ordered delivery, Redis-backed transport with long‑poll fallback and client catch‑up; Rack hijack enables many concurrent long polls without blocking. Memory and CPU profiling use Rack Mini Profiler and a Ruby memory profiler to find hotspots — pluck allocations drop from ~286/25KB to ~13/1.1KB with a PG type mapper and a fast pluck patch, LRU Redux is ~30% faster than alternatives, Dockerized deploy and source maps in production make large JS apps debuggable.
AI-written summary · about
chapters (28)
- 0:00Start
- 2:41Omakase v2
- 5:37Omakase Demo
- 10:09gem install message_bus
- 11:41message_bus features
- 12:55Rack Hijack works on unicorn/puma/ passenger
- 16:06What about Action Cable?
- 16:59What about web sockets?
- 22:27Performance is a feature
- 23:14gem install memory_profiler
- 23:28memory_profiler crash course
- 23:58Allocation reports
- 24:31Discourse boot (allocated)
- 25:13Discourse boot strings (allocated)
- 26:14Retention reports
- 26:42Discourse boot (retained)
- 28:03Using memory profiler to optimise pluck
- 29:58PG type mapping, new in pg 0.18
- 34:54How fast is this?
- 36:04A story about Stack Overflow
- 37:27Active Record needs Dapper
- 39:46Lightweight jobs
- 41:08Source maps in production
- 41:41Anonymous Cache
- 42:47Optimizing for Development
- 43:37rake autospec
- 48:35Faster browser reloads in Development
- 50:23Choose your own adventure








