Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
worker_processes
- To: nginx-ru@xxxxxxxxx
- Subject: worker_processes
- From: Gena Makhomed <gmm@xxxxxxxxx>
- Date: Mon, 01 Aug 2011 21:24:00 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1312223041; bh=wBHNLpNLk0iu8SH/ZVVLc5Wl62crVqWSvD8zO1Pw1fY=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type: Content-Transfer-Encoding; b=HW3yJYHjhHCRr4reuGXcrwl8Bk6CN+CgZyFXHR7Eyoo0E0rmBRXsAXAagbxrzQsQt S6UXRxQL+tMOk1CcD36iAbmZdHeW5OQ69Dyxb65BLP3b/0u7A8HQDGaxa7cWml0SaE hpmEmbYZz31yvuGraMWI6vIKzprh0tOcbpXUJ/J4=
Здравствуйте!
сейчас директива worker_processes
имеет значение-по-умолчанию равное 1.
при этом - в nginx существует
параметр командной строки -g
# -g ? задаёт глобальные директивы конфигурации, например,
nginx -g "pid /var/run/nginx.pid; worker_processes `sysctl -n hw.ncpu`;"
предлагаю:
1. добавить в nginx r/o переменную $sysctl_cpu_cores_physical
в которой будет записано число физических ядер процессора
если это не Linux и не FreeBSD и не какая-то другая система,
где nginx может определить число ядер процессора в run-time,
то как и раньше, эта переменная будет равна fail-safe значению 1
и возможно имеет смысл при старте выводить предупреждение, что
используется дефолтовое fail-safe значение 1, потому что в run-time
не удалось узнать количество ядер. - кого это достанет - или поставят
в конфиге нужное значение вручную, или пришлют патч для своей системы.
2. для директивы worker_processes значением по-умолчанию установить
$sysctl_cpu_cores_physical для всех систем, где nginx может определить
количество ядер процессора, кроме windows,
где worker_processes должно быть равно 1.
это позволит получить nginx "из коробки" более готовый к применению
и автоматически настроенный на "оптимальную производительность" по
количеству worker-процессов. особенно это актуально в случае https
протокола, когда пользователи пытаются проводить какие-то тестирования
и выкладывать в сеть их результаты сравнивая nginx с другими серверами.
http://news.netcraft.com/archives/2011/07/08/july-2011-web-server-survey.html
June 2011 Percent July 2011 Percent Change
nginx 22,668,760 6.55% 23,357,497 6.54% -0.01
вряд ли все из этих 22-23 миллионов пользователей nginx
будут внимательно читать всю документацию, перед тем,
как пытаться его использовать в production.
а кому из них нужна будет "тонкая настройка" и не устроит дефолтовое
значение - всегда смогут в конфиге явно указать необходимое значение.
P.S. возможно также имеет в nginx смысл добавить r/o переменную
$sysctl_cpu_cores - это будет общее количество ядер процессора,
включая и "виртуальные" на системах с процессором intel и т.п.
и $sysctl_cpu_cores_virtual - количество только "виртуальных" ядер.
- возможно кто-то захочет использовать эти переменные для настройки.
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|