optimizing worker processes usage

Igor Sysoev is at rambler-co.ru
Mon Sep 24 23:22:05 MSD 2007

On Mon, Sep 24, 2007 at 01:45:54PM +0200, Manlio Perillo wrote:

> Doing some tests with mod_wsgi, I have found some "problems" with worker 
> processes usage.
> I have worker_processes set to 2 (and I have a Dual Core CUP).
> When a WSGI app "quickly" return a chunk of data (and write it at once), 
> nginx seems to use only one process, serializing all the requestes.
> How can I optimize the code so that nginx can use all the worker processes?
> I have found that if the WSGI app calls, as an example, sleep(0.01), 
> then nginx will use all of its worker processes (but this slow down the 
> response time: 159.52 req/sec vs 2848.19 req/sec)

It's up to OS.

nginx uses accept_mutex to receive new connection notifications
form kqueue/epoll/etc in only one worker. It seems that your load
is not enough to utilize two CPUs.

Igor Sysoev

More information about the nginx mailing list