Estou tentando instalar o php com o fpm em macports. Eu li em algum lugar que fpm significa gerenciador de processos FastCGI. Isso significa que fastcgi e fpm são iguais? Se eles são iguais, então por que temos duas variantes de macports diferentes para php, a saber "php5 + fastcgi" e "php5 + fpm"
117
SpawnFCGI
quantos processos gerar e o número de filhos do PHP por processo. Portanto, gerar 1 processo PHP com 100 filhos é a mesma coisa que usar FPM com 100 filhos ... Porém, o inverso é verdadeiro. Se o FPM for morto (segfault, qualquer que seja), todo o seu trabalhador morre. Em SpawnFCGI, se um dos processos morre, o resto pode permanecer vivo ... Portanto, não é claro que um é melhor que o outro. Abordagens diferentes. O FPM é recomendado não por razões técnicas, mas porque é mantido ao longo do núcleo lateral (nele, na verdade) ...O que Anthony diz está absolutamente correto, mas eu gostaria de acrescentar que sua experiência provavelmente mostrará um desempenho e eficiência muito melhores (devido não ao
fpm
-vs-,fcgi
mas mais à implementação do seuhttpd
).Por exemplo, eu tinha uma máquina quad-core funcionando
lighttpd
+fcgi
zumbindo muito bem. Fiz upgrade para uma máquina de 16 núcleos para lidar com o crescimento e duas coisas explodiram: uso de RAM e falhas de segurança. Eu comecei a reiniciar alighttpd
cada 30 minutos para manter o site ativo.Mudei para php-fpm e nginx, e o uso de RAM caiu de> 20 GB para 2 GB. Segfaults também desapareceram. Depois de fazer algumas pesquisas, aprendi que lighttpd e fcgi não se dão bem em máquinas com vários núcleos sob carga e também têm problemas de vazamento de memória em certos casos.
Isso é devido a
php-fpm
ser melhor do quefcgi
? Não inteiramente, mas como vocêphp-fpm
se conecta parece ser muito mais eficiente do que como você serve viafcgi
.fonte
Executar o PHP como CGI significa que você basicamente informa ao seu servidor web a localização do arquivo executável do PHP, e o servidor executa esse executável
enquanto que
O PHP FastCGI Process Manager (PHP-FPM) é um daemon FastCGI alternativo para PHP que permite a um site lidar com cargas extenuantes. O PHP-FPM mantém pools (workers que podem responder às solicitações do PHP) para fazer isso. PHP-FPM é mais rápido do que os métodos tradicionais baseados em CGI, como SUPHP, para ambientes PHP multiusuário
No entanto, há prós e contras em ambos e deve-se escolher de acordo com seu caso de uso específico.
Achei informações neste link para fastcgi vs fpm bastante úteis na escolha de qual manipulador usar em meu cenário.
fonte