Logo da MMHospedagem
Carregando...
Sites no PHP-FPM estão indisponíveis ou carregando lentamente: "server reached max_children setting" ou "pool seems busy"
imprimir
  • Webserver
  • 0

Aplicável a: 

Plesk para Linux

 

Sintomas

Os sites que têm o manipulador PHP definido como aplicativo FPM servido pelo aplicativo Apache ou FPM servido pelo nginx em Domínios > example.com > Configurações PHP enfrentam um dos seguintes problemas:

carregar lentamente

não acessível (permanente ou periodicamente) com um erro de 50x em um navegador da web:

502 Bad Gateway


503 Service Temporarily Unavailable


504 Gateway Time-out

A seguinte mensagem aparece no arquivo de log de erros do PHP-FPM (onde XX é uma versão do PHP usada pelos sites): /var/log/plesk-phpXX-fpm/error.log

WARNING: [pool example.com] server reached max_children setting (*), consider raising it

A mensagem acima geralmente é acompanhada com este erro:

unable to read what child say: Bad file descriptor (9)

Se o nginx estiver habilitado no servidor, uma das seguintes mensagens de erro pode aparecer no arquivo de log de erros do domínio:/var/www/vhosts/system/example.com/logs/proxy_error_log

[error] 11456#0: *118348 connect() to unix:///var/www/vhosts/system/example.com/php-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 203.0.113.2, server: example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:///var/www/vhosts/system/example.com/php-fpm.sock:", host: "example.com"

[error] 20058#0: *4725139 upstream prematurely closed connection while reading response header from upstream, client: 203.0.113.2, server: example.com, request: "POST /path/to/some/file HTTP/2.0", upstream:

Causa

O PHP-FPM foi acessado pelo(s) site(s).pm.max_children


Solução

Aumente o limite para os domínios afetados:pm.max_children

Conecte-se ao servidor Plesk via SSH.

Encontre os domínios afetados usando o comando abaixo:

Note: O número à esquerda indica quantas vezes o limite pm.max_children foi atingido pelo site.

Se um domínio estiver usando um aplicativo FPM dedicado e tiver um local de vhosts personalizado, altere o caminho /var/www/vhosts/system/ no comando abaixo:

grep -r "server reached max_children setting" /var/log/*php*-fpm/error.log /var/www/vhosts/system/*/logs/php-fpm_error.log | cut -d' ' -f5 | tr -d ']' | sort | uniq -c | sort -nr

100 example.com
50 example.net
25 example.org
<...>

Faça login no Plesk.

Vá para Domains > example.com > PHP Settings > PHP-FPM Settings.

Aumente o valor do domínio e aplique as alterações. Aumente esse valor para todos os domínios listados na etapa 2.pm.max_children


php_fpm.png

Esta resposta lhe foi útil?

Artigos Relacionados

MMHospedagem