Auto detect the number of CPU's and set worker_processes
Gena Makhomed
gmm at csdoc.com
Mon Sep 17 12:46:38 UTC 2012
On 17.09.2012 15:19, Валентин Бартенев wrote:
>> - предлагаю для директивы worker_processes
>> сделать дополнительный вариант значения: auto
> Уже много раз обсуждали. Простого и единого способа получить количество
> физических ядер в любой системе - не существует.
на 99.9% используемых систем это можно получить.
(Linux, FreeBSD, MacOS X, NetBSD, OpenBSD, Solaris, AIX)
а там где нельзя получить - auto может быть равно 1, как и на виндовсе.
по крайней мере, чтобы получить размер L2 cache line
- тоже не существует простого и единого способа,
но тем не менее, nginx это всеравно делает, чтобы настроиться
на максимальную производительность в зависимости от процессора.
nginx-1.3.6\src\core\ngx_cpuinfo.c
/* auto detect the L2 cache line size of modern and widespread CPUs */
с количеством ядер процессора - ведь полностью аналогичная ситуация.
P.S.
http://stackoverflow.com/questions/150355/programmatically-find-the-number-of-cores-on-a-machine
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru