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 ?
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.