php fpm gera novos filhos mesmo que o limite não seja atingido

1

Meu processo php fpm me fornece o seguinte aviso:

[29-Apr-2014 13:06:10] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 19 idle, and 51 total children [29-Apr-2014 13:07:09] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 14 idle, and 47 total children [29-Apr-2014 13:07:10] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 17 idle, and 53 total children [29-Apr-2014 13:07:11] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 14 idle, and 56 total children [29-Apr-2014 13:07:12] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 19 idle, and 62 total children [29-Apr-2014 13:07:13] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 18 idle, and 63 total children [29-Apr-2014 13:07:14] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 19 idle, and 65 total children [29-Apr-2014 13:07:15] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 18 idle, and 66 total children [29-Apr-2014 13:07:16] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 16 idle, and 68 total children [29-Apr-2014 13:07:23] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 14 idle, and 80 total children [29-Apr-2014 13:07:24] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 19 idle, and 86 total children [29-Apr-2014 13:07:25] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 19 idle, and 87 total children

Meu fpm.conf é:

pm.max_children = 161
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
pm.max_requests = 1000

Minhas perguntas são

  1. Por que as crianças estão sendo geradas mesmo se eu não estiver alcançando o valor de max_children? É por causa do tráfego extra e porque as crianças ociosas precisam atingir o mínimo de 20, elas não podem ser usadas?

  2. Isso está criando uma sobrecarga no meu sistema?

por Spyros Lambrinidis 29.04.2014 / 16:58

2 respostas

2

why are children being spawned even if I am not reaching the max_children value?

Porque esse é o máximo. Uma vez que você atingiu o máximo, nada mais será criado, mas até esse ponto o PHP-FPM adicionará os trabalhadores quando precisar da capacidade extra. Com suas configurações, você sempre terá pelo menos 20 servidores, não mais que 161, e o FPM adicionará servidores quando menos de 20 estiverem ociosos e removerá servidores quando mais de 40 estiverem inativos.

    
por 29.04.2014 / 17:03
2

Você tem pm.min_spare_servers = 20 e está sob o limite de 20 crianças ociosas e gerando mais para voltar ao valor de min_spare_servers. Diminua isso para reduzir a frequência com que isso acontece. O objetivo é neutralizar os picos de carga e ter filhos suficientes para atender à demanda.

    
por 29.04.2014 / 17:03

Tags