SaaS for Developers artwork

Postgres, Performance and Rails

SaaS for Developers

English - August 23, 2023 15:30 - 57 minutes - 53.1 MB - ★★★★★ - 2 ratings
Technology Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed


Andrew Atkinson took a Rails web application that was struggling with load, and optimized it to handle over 9000 HTTP requests per second with an average latency of 35ms end to end. Handling a much higher load, on a smaller RDS instance, with lower latencies. He then shared his expertise by writing a book: "High-Performance Postgres with Rails."

Andrew and I discussed Postgres performance, scalability, design patterns, valuable tools, his career, and some Rails. I tackled Andrew with many of the biggest challenges SaaS developers encounter with Postgres, and Andrew had an answer to everything.

For me, the highlights were his explanation of the N+1 problem, sharding patterns, the use of pgcopydb project to move a noisy neighbor to another DB, and the secret for scaling on a single instance.

Useful links:
- The book: https://pgrailsbook.com
- SaaS Developer Slack - where Andrew answers Postgres questions and will share a discount for his book: http://launchpass.com/all-about-saas




Tools we mentioned:
- Easier multi-tenancy for Rails: https://github.com/ErwinM/acts_as_tenant
- For read replicas prior to Rails 6.0: https://github.com/OutOfOrder/multidb
- The fastest way to copy a DB or part of: https://github.com/dimitri/pgcopydb