~/talk

How (and why) to run SQLite in production

Talkat wroc_love.rb 2024 · 2024-04-12..04-14· [databases]
slides:none on file

Argues that SQLite can run production Rails apps if four concrete fixes are applied and automated: set default transaction mode to immediate transactions to avoid sqlite3 busy errors; replace the C busy handler with a Ruby busy handler that uses sleep to release the GVL and a non-blocking fair busy handler (1ms retries) to flatten P95/P99 latency; run SQLite in WAL mode; use separate reader/writer connection pools plus point‑in‑time backups via lightstream backups. An enhanced_adapter gem implements these changes and load tests show large latency gains.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 2:54Why SQLite in production?
  3. 7:38Cost and performance advantages
  4. 13:21Making SQLite production-ready
  5. 15:50Deep dive into performance optimizations
  6. 36:45Key performance techniques
  7. 48:11Enhanced adapter gem overview
  8. 52:27Resilience and future of Rails
  9. 59:57Q&A session
~/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.