Member-only story
The Rails Performance Checklist I Run Before Every Launch
After three production meltdowns, I made a checklist. It’s caught every performance disaster since. Here’s what actually matters before you ship.
Three years ago, I launched a Rails app that immediately fell over. 200 concurrent users — not even that many — and the response times went from 200ms to 8 seconds. The database CPU spiked to 100%. Users complained. The CEO was pissed.
The problem? A missing database index on a column we filtered by on every page load. One index. That’s all it took.
I’ve launched dozens of Rails apps since then. Some handled 10K requests per minute without breaking a sweat. Others struggled with 100. The difference wasn’t the code quality or the infrastructure — it was the systematic checking of specific things that matter.
This is my checklist. It’s boring. It’s not sexy. But it’s kept my apps from melting down on launch day for three years straight.
Part 1: Database Indexes (The Usual Suspect)
Ninety percent of production performance issues I’ve seen trace back to missing indexes. Not code inefficiency, not memory leaks, not framework overhead. Missing. Fucking…
