Nginx – Correct number of uWSGI processes

nginxuwsgi

On a 4-core box which scenario makes the better setup:

4 uWSGI processes with a deep queue to handle requests

8 uWSGI processes with a deep queue

As many many processes as the server's memory allows with the a relatively shallow queue ?

Best Answer

Historically the common wisdom has been that web server performance (which is to say a high-volatility workload with relatively short per-transaction lifetimes) is much more a function of available memory than number of cores. The OS process scheduler will employ considerably deeper magic than just round-robin-ing the most CPU-intensive processes among its available processors; rather than trying to second-guess the scheduler, your better bet is to ensure you've got enough RAM to keep more shallow-queue processes alive than your expected concurrent-request load, and let the scheduler handle how to get them cycles in a timely manner.

Related Topic