From Request To Response And Everything In Between
Thanks for taking an interest in my talk!
If you have any questions, or just want to get in touch, you can find me on twitter @kevinlesht.
- Kevin
Abstract
How does a web request make it through a Rails app? And, what happens when a lot of them are coming in, all at once? If you've ever been curious about how requests are handled, or about how to analyze and configure your infrastructure for optimally managing throughput, then this talk is for you!
In this session, you'll learn about the makeup of an individual web request, how Rails environments can best be setup to handle many requests at once, and how to keep your visitors happy along the way. We'll start by following a single request to its response, and scale all the way up through navigating high traffic scenarios.
Slides
- Slides as PDF (40.9 MB PDF)
- Slides as JPEG (13.8 MB zip)
Resources
- Determining Ruby Process Counts - Nate Berkopec, RubyKaigi 2019 Conference Talk
- All About Queueing In Rails Applications - Nate Berkopec, Kaigi on Rails 2022 Conference Talk
- How Puma Works - Nate Berkopec, RubyConf AU 2023Conference Talk
- Your App Server Config is Wrong - Nate Berkopec, RailsConf 2017 Conference Talk
- Scaling Ruby Apps to 1000 Requests per Minute - A Beginner's Guide - Nate Berkopec, speedshopArticle
- The Practical Effects of the GVL on Scaling in Ruby - Nate Berkopec, speedshopArticle
- Configuring Puma, Unicorn and Passenger for Maximum Efficiency - Nate Berkopec, speedshopArticle
- Understanding the Ruby Global VM Lock by observing it - Ivo Anjo, RubyKaigi 2023Conference Talk
- Deploying Rails Applications with the Puma Web server - Heroku Article
- Threading and Code Execution in Rails - Ruby on Rails Guides Article
- Puma Architecture - Puma DocumentationArticle
- Concurrency and Database Connections in Ruby with ActiveRecord - HerokuArticle
- Active Record Connection Pool - Ruby on Rails Documentation Article
- Set a new default for the Puma thread count - Github rails/rails Issue
- Add a Rails Guide for tuning performance for deployment - Github rails/railsPull Request