Php-fpm 100% CPU na versão 2.4.1
-
Boa tarde a todos.
Instalei o pfSense 2.4.1 no começo de dezembro na máquina cujo print vai anexo. Ela é um firewall de alto tráfego (Universidade Pública). Estamos migrando as regras do iptables para o pfSense.
Tenho consciência de que o hardware está sobrando, mas percebemos uma lentidão na navegação da interface web que faz até o nosso monitoramento detectar perda de pacotes no Campus, dependendo da operação (aplicação de regras de firewall, por exemplo). Observando via top, o processo php-fpm chega a 100% de CPU neste caso.
Alguém já enfrentou problema parecido? Não tive tempo de atualizar para a versão 2.4.2_1 mas também não vi nada sobre correção no php-fpm no changelog das versões 2.4.2
Desde já, obrigado.

 -
Esse pf está virtualizado ou foi instalado em uma máquina física?
-
Da uma olhada nesse topico: https://forum.pfsense.org/index.php?topic=136445.0
Talvez tenha mais alguma coisa fazendo a pesquisa no forum internacional.
-
Boa tarde a todos.
empbilly, ele está numa máquina física.
Tomas Waldow, vou olhar o tópico indicado e te dou um retorno.
Obrigado.
-
Tomas Waldow, no tópico que você indicou, aparentemente o consumo estava ligado a configuração de IPv6. No meu caso, não existe IPv6 habilitado em nenhuma interface.
Até mais.
-
Encontrei este tópico (https://forum.pfsense.org/index.php?topic=99877.msg557985#msg557985) onde se sugere o restart no Webconfigurator.
Mas amanhã está prevista a atualização para a versão 2.4.2_1. Então não vou reiniciar o Webconfigurator agora, vou ver se a atualização resolve e posto aqui o resultado.
Até mais.
-
Boa tarde a todos.
Após a atualização, o impacto do consumo de CPU do php-fpm diminuiu apenas um pouco. Percebo que, principalmente quando se listam as regras de floating e quando se aplicam aliases e regras, o consumo de CPU volta a aumentar exageradamente.
Vou continuar pesquisando melhorias e qualquer novidade postarei aqui.
Até mais.
-
Esse processo fica 100% o tempo todo?
-
Bom dia Tomas.
Não, o processo do php-fpm não fica 100% o tempo todo, ele atinge 100% quando se está navegando dentro da GUI, principalmente na lista de regras floating e no momento da aplicação de alguma regra.
Um detalhe: Acessei via console e listei as regras com o comando "pfctl -sa". Vejo que para uma regra de floating que envolve duas interfaces, na realidade o pf cria uma regra pra cada. Como temos cerca de 70 VLANs, estou tentando otimizar as regras de floating. Talvez esta quantidade de regras esteja levando o php-fpm a 100% de CPU quando se aplica alguma regra nova.
Alguma sugestão?
-
Em alguns eu tenho muitas regras, listas grandes e realmente tem picos de processamento, mas depois das regras aplicadas, fica bem baixo o % de processamento.
-
Boa tarde Tomas e demais.
O pico de consumo de CPU do php-fpm se deveu ao excesso de regras. Consegui otimizar as regras de floating e os aliases de portas, reduzindo de cerca de 2.000 regras do pf e a situação já melhorou bastante. O consumo do php-fpm fica pouquíssimo tempo em 100% e logo depois já baixa, mitigando a perda de pacotes no nosso monitoramento.
Acredito que o assunto do post foi resolvido. Mas como esta otimização das regras é um processo contínuo, qualquer novidade eu abro um novo post.
Até mais.
-
Mesmo usando Aliases tem toda essa quantidade de regras?
-
Tomas, tem sim porque são muitas VLANs, aí se uma regra de floating envolve duas VLANs, o pf cria duas regras.
Existem regras que envolvem todas as 70 VLANs.