Multiprocessing/threading and autoscaling with Puma and Sidekiq

How does puma/sidekiq multi-processing/threading apply? If puma has 2 processes and 3 threads, does that mean adding one replica of a “web” process actually adds 6 processes to handle web requests?

If puma has 2 processes with 3 threads for each it looks like this:

So if those two processes are running in the same instance, then if you add one more replica, you will have a total of 4 processes and 12 threads.


My feedback:

Since your workload on Qovery runs on a Kubernetes cluster, I would recommend limiting to 1 process per Puma instance. But I am not familiar with Puma, and maybe it’s not recommended to have multiple processes in a single instance.

Thank you, that answers my question already.