Назад | Перейти на главную страницу

Процесс php-fpm всегда запущен

Я использую Nginx с Php-fpm (php 5.5 + opcode) для веб-сайта с очень высоким трафиком, конечную точку статуса php-fpm для мониторинга того, что происходит. После большого пика трафика 200 «активных процессов» все еще работают, несмотря на отсутствие трафика.

Вот моя конфигурация пула php-fpm:

pm.max_children = 1024
pm.start_servers = 32
pm.min_spare_servers = 32
pm.max_spare_servers = 64
pm.max_requests = 500

Вот результат статуса php-fpm для «всегда запущенного» процесса:

{
pid: 24223,
state: "Running",
start time: 1415881336,
start since: 1307629,
requests: 186,
request duration: 1306169216849,
request method: "GET",
request uri: "/index.php?loca.....",
content length: 0,
user: "-",
script: "/home/ebuildy/app/index.php",
last request cpu: 0,
last request memory: 0
},

Этот процесс должен быть "убит", чтобы он находился в состоянии ожидания, не так ли?

Согласно вашей конфигурации pm.min_spare_servers = 32 32 дочерний процесс всегда будет бездействовать. Если вы не хотите, чтобы это переключалось в режим по требованию или в статический режим.

Переключите PHP-FPM на ondemand и установите значения тайм-аута ниже, чем они есть сейчас.