Seu carrinho

Nosso Whatsapp: (41) 99721-1993

Planos a partir de R$ 15,00

wp header logo 27.png

Como configurar o PHP-FPM para utilizar pouca memória RAM – SempreUpdate

Neste artigo iremos ensinar como configurar o PHP-FPM na sua distribuição Linux, de modo a diminuir o consumo de memória RAM. A maioria dos sites que utilizam o LINUX, acabam configurando o LAMP (Linux, NGINX/APACHE, MySQL / MariaDB e PHP), provavelmente está usando o proxy FastCGI no NGINX (como um servidor HTTP) para processamento de PHP. PHP-FPM (um acrônimo de FastCGI Process Manager) é uma implementação alternativa de PHP FastCGI amplamente usada e de alto desempenho. Temos um artigo onde explicamos as diferenças entre PHP e PHP-FPM.
Os administradores acabam se deparando com algumas situações, onde todos os nossos sites PHP em um de nossos servidores LAMP tornaram-se lentos e, eventualmente, pararam de responder ao fazer login no servidor. Após análise, descobrimos que o sistema estava com pouca RAM, pois os processos PHP-FPM havia consumido a maior parte da RAM, conforme indicado na imagem a seguir (relances – ferramenta de monitoramento do sistema).
Neste artigo, mostraremos como evitar que o PHP-FPM consuma muito ou toda a memória do sistema (RAM) no Linux. No final deste artigo, você aprenderá como reduzir o consumo de memória do PHP-FPM em 50% ou mais.
Depois de fazer algumas pesquisas na Internet, descobrimos que precisávamos reconfigurar o gerenciador de processos do PHP-FPM e alguns aspectos dele para reduzir o consumo de memória do PHP-FPM no arquivo de configuração do pool. O pool padrão é www e seu arquivo de configuração está localizado em:
Se estiver usando o CentOS, AlmaLinux, Fedora ou RHEL o caminho do PHP-FPM pode ser este:
Se estiver usando Debian, Ubuntu ou qualquer distribuição baseada em .deb, é provável que o caminho do PHP-FPM seja este:
Utilize o editor que mais você se familiariza, no meu caso utilizado o nano, mas você pode utilizar o vi, vim e outros, a sintaxe do comando para CentOS, RHEL e outros RPM é:
E para Ubuntu, Debian e outras .deb é:
Se por ventura você estiver usando uma imagem customizada de algum site ou da sua hospedagem de sites, terá que conferir manualmente qual o caminho correto, isso pode variar conforme o sistema e customizações do PHP-FPM.
Encontre as seguintes diretivas e defina seus valores de acordo com seu caso de uso. Para diretivas com comentários, você precisa removê-los.
Vamos explicar resumidamente as diretivas acima e seus valores. A diretiva pm determina como o gerenciador de processos controlará o número de processos filhos. O método padrão é dynamic, o que significa que o número de filhos (processos filhos) é definido dinamicamente dependendo de algumas outras diretivas, incluindo pm.max_children, que define o número máximo de filhos que podem estar vivos ao mesmo tempo.
O gerenciador de processos mais ideal é o esquema ondemand, em que nenhum processo filho é criado na inicialização, mas sim gerado sob demanda. Os processos filhos são bifurcados apenas quando novas solicitações se conectarão com base em pm.max_children e pm.process_idle_timeout, que define o número de segundos após os quais um processo inativo será eliminado.
Por último, mas não menos importante, precisamos definir o parâmetro pm.max_requests, que define o número de solicitações que cada processo filho deve executar antes de re-spawn. Observe que este parâmetro também pode ser usado como uma solução alternativa para vazamentos de memória em bibliotecas de terceiros.
Depois de fazer as configurações acima, percebi que o uso de RAM agora está bom em nosso servidor.
Recomendamos que cada administrador avalie a melhor configuração do PHP-FPM e memória RAM para uso no seu servidor, e portanto, realize as configurações mais adequadas para atender as necessidades de seus usuários.
Segue abaixo mais alguns artigos interessantes para melhorar a administração do seu Linux.
22 dicas de SSH
Como proteger contra ataque de DDOS

Receba as novidades


Entre com os dados da sua conta!



source

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Suporte no Whatsapp
💬 Precisa de ajuda?
Studio Live Code
Olá 👋
Podemos te ajudar?
Studio Live Code Gostaríamos de mostrar notificações sobre as últimas notícias e atualizações.
Dismiss
Allow Notifications