Nate is the owner of Speedshop, a Ruby on Rails performance consultancy, and the author of The Complete Guide to Rails Performance. Nate has taught Ruby and Rails performance skills in workshops all over the world, and is a contributor to several open source projects, such as Ruby on Rails, Puma and Sentry. His favorite Japanese musical artists are 山下 達郎, 角松 敏生 and カシオペア.
Determining Ruby Process Counts: Theory and Practice
You have a Ruby web application or service that takes a certain number of requests per minute. How do you know how many Ruby processes you will need to serve that load? The answer is actually very complex, and getting it wrong can cost you a lot of money! In this talk, we'll go through the mathematics and theory of queues, and then apply them to the configuration and provisioning of Ruby services (web, background job, and otherwise). Finally, we'll discuss the application of this theory in the real world, including multi-threading and the GVL, "autoscaling", containers and deployment processes, and how Guilds may impact this process in the future.