Your App Server Config is Wrong
summary
Claim: misconfigured app servers waste money and add timeouts. Uses Heroku metrics, Puma settings, jemalloc, PG bouncer, New Relic/Skylight/Scout or oink for memory profiling, and Puma Worker Killer or rack_timeout as band‑aids. Do the math with Little’s law (example: 115 req/s × 147 ms = ~17 concurrent, Envato uses 45 workers so 37% utilization), aim for 20% target utilization, prefer 3–5 threads per worker, test with 1X/2X dynos for 24 hours, then resize dynos/workers and watch queue times, CPU, memory and restarts.
AI-written summary · about
chapters (10)
- 0:00Introduction and announcements
- 1:50Understanding app servers
- 2:27Core configuration concepts
- 7:47Estimating worker needs
- 10:26Calculating process count
- 13:22Memory management basics
- 17:52Choosing container sizes
- 27:56Connection limit management
- 30:53Monitoring and performance
- 37:56Conclusion
related talks
43mMillions of Apps: What we’ve Learned
41mForget Scaling: Focus on Performance
29mSite Availability is for Everybody
38mMillions of Apps: What we've Learned
44mMillions of Apps: What we've learned
42mMy Server for Aiur: How Starcraft Taught Me To Scale
44mIntroduction to application scaling
30mRails Performance monitoring: A primer for developers
