How nginx define a free worker?
Anton Yuzhaninov
citrin at citrin.ru
Wed Nov 21 17:36:09 UTC 2012
On 11/21/12 20:51, Vivek Goel wrote:
> If I have n cores and I am running n nginx worker process how nginx will decide
> free worker for next connection?
>
> 1. Will it be doing round robin?
>
> If it is not using round robin what method it use? Is there a way I can force it
> to use round robin method?
> regards
Load distribution between worker processes affected by accept_mutex
http://nginx.org/r/accept_mutex
Default is to use accept mutex and if load is low, most request will be handled
by one worker.
On heavy loaded server load destribution between worker processes will be more
uniform.
You can switch off accept_mutex and load will be more uniform even with low
load, but all worker processes will be waken up on each new connection and only
one worker can accept given connection:
http://en.wikipedia.org/wiki/Thundering_herd_problem
In case of nginx number of processes is usually low, and negative impact of
accept_mutex off should be low.
--
Anton Yuzhaninov
More information about the nginx
mailing list