SQLite on Rails: From rails new to 50k concurrent users and everything in between
summary
Step‑by‑step workshop showing how to run a full Rails app on SQLite: use Ruby 3.3 for fewer connection errors, set the adapter to begin immediate transaction (database.yml) to avoid SQLITE_BUSY failures, split data into separate databases for app, jobs, cache and errors, add point‑in‑time backups with Litestream, install the enhanced sqlite3 adapter or monkey‑patch busy timeout to eliminate long tail latency (orders‑of‑magnitude P99 improvement), and add extensions (vector search, FTS) and Solid Q for production jobs; claims scaling to 50k+ concurrent users.
AI-written summary · about
chapters (15)
- 0:00SQLite on Rails intro
- 8:01Setting up the workshop environment
- 11:05Baseline performance
- 21:07Fixing SQLite lock errors
- 35:52SQLite transaction modes
- 41:48Reducing tail latency
- 51:43Monkey patches for SQLite
- 1:01:45Rails features unlocked
- 1:06:23Litestream resilience
- 1:21:05Backup restore checks
- 1:37:12Solid Queue jobs
- 1:41:12Multiple SQLite DBs
- 1:44:53Solid Cache setup
- 1:46:40SQLite optimizations
- 1:51:23Q&A
related talks
01h 56mSQLite on Rails: From rails new to 50k concurrent users and everything in between
01h 56mSQLite on Rails: From rails new to 50k concurrent...
45mSQLite on Rails: Everything you need to know
01h 07mHow (and why) to run SQLite in production
30mUse SQLite in production
24mFrom Expensive Queries to Smart Caching: A DBA’s Guide for Rails
45mTips and Tricks for Tweaking and Using Ruby and Rails...
31mSQLite, the World's Most Ubiquitous Yet Little-Known Database
