Подскажите рекомендуемую конфигурацию для nginx + php-fpm?

флоппик

promotor fidei
Команда форума
Партнер клуба
Точнее, интересуют настройки именно php-fpm — сколько воркеров иметь? как часто перезапускать(max_requests)?

Xeon E5620 @ 2.40GHz (4x4), 32Gb RAM
по задачам ближе всего к файлопомойке, но нужно вести учет скачек (по post_action дергается скрипт)

В идеале хотелось бы знать, как бы эти числа правильно прикидывать от поставленной задачи, есть ли какие-то признаки? Поделитесь опытом, пожалуйста.
 

fixxxer

К.О.
Партнер клуба
max_requests разумный в районе 1000

воркеров - столько, чтобы успевать разгребать на пике нагрузки, но не слишком много, чтобы переключения контекста не стали узким местом

зависит от характера приложения, сам понимаешь.

учет скачек я бы делал парсингом логов, кстати (грубо говоря tail -f access.log | script.php)
 

флоппик

promotor fidei
Команда форума
Партнер клуба
но не слишком много, чтобы переключения контекста не стали узким местом
Кстати, это может отразится в виде высокого %io_wait ?
На меня просто это все свалилось... «как есть» я вот и думаю, с какой стороны с лопатой подходить в первую очередь )
 

fixxxer

К.О.
Партнер клуба
Если упирается в диск, наоборот немного поможет побольше поставить деток :)

Хотя конечно устранять надо причину а не следствие.

iotop?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Если упирается в диск, наоборот немного поможет побольше поставить деток :)
там было 1800 деток с max_requests = 2
уменьшил деток до 512, max_requests = 200, буду мониторить. Боюсь, что это от каких-то страшных мемориликов делали. Грустно, в общем :( Буду копать.
Но все же, fixxxer, если не сложно на будущее — какая стратегия должна быть в оценке числа деток?
 

fixxxer

К.О.
Партнер клуба
:D п***ц. Это по сути cgi получается, это никакими мемликами не объяснимо, это просто идиотизм.

Стратегия простая - если не успевают грести backlog увеличивать, если детки простаивают - уменьшать
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Стратегия простая - если не успевают грести backlog увеличивать, если детки простаивают - уменьшать
Код:
root@sf001:~# curl http://127.0.0.1/status
pool:                 www
process manager:      static
accepted conn:        47336
listen queue len:     0
max listen queue len: 128
idle processes:       1119
active processes:     281
total processes:      1800
max children reached: 0
:D
 

fixxxer

К.О.
Партнер клуба
Статус там стремный, кстати. У меня в корку падал, если "не вовремя" запросить. Может, конечно, уже исправили, но anight реализацию тогда критиковал страшно
 
Сверху