This post explains the role of Puma as the default web server for Rails applications, detailing how it handles requests and manages processes and threads. It explores the concepts of single mode and cluster mode in Puma, and introduces concurrency and parallelism. The Global VM Lock (GVL) in Ruby and its impact on

16m read timeFrom bigbinary.com
Post cover image
Table of contents
How does Puma handle requests?Modes in PumaDefault Puma configuration in a new Rails applicationWeb applications and CPU usageConcurrency vs ParallelismUnderstanding GVL in RubyGVL dictates how many processes we will needThread switchingVisualizing the effect of the GVLWhy can't we increase the thread count to a really high value?What's next

Sort: