Estoy intentando instalar php con fpm en macports. Leí en alguna parte que fpm significa administrador de procesos FastCGI. ¿Eso significa que fastcgi y fpm son iguales? Si son iguales, entonces ¿por qué tenemos dos variantes de macports diferentes para php, a saber, "php5 + fastcgi" y "php5 + fpm"?
117
SpawnFCGI
cuántos procesos generar y el número de hijos PHP por proceso. Entonces, generar 1 proceso PHP, con 100 niños es lo mismo que usar FPM con 100 niños ... Sin embargo, lo contrario es cierto. Si muere FPM (segfault, lo que sea), todo su trabajador muere. En SpawnFCGI, si uno de los procesos muere, el resto puede permanecer vivo ... Así que no es claro que uno sea mejor que el otro. Diferentes aproximaciones. Se recomienda FPM no por razones técnicas, sino porque se mantiene a lo largo del núcleo lateral (en realidad) ...Lo que Anthony dice es absolutamente correcto, pero me gustaría agregar que su experiencia probablemente mostrará un rendimiento y eficiencia mucho mejores (debido no a
fpm
-vs-fcgi
sino más a la implementación de suhttpd
).Por ejemplo, tenía una máquina de cuatro núcleos funcionando
lighttpd
+fcgi
tarareando muy bien. Actualicé a una máquina de 16 núcleos para hacer frente al crecimiento, y dos cosas explotaron: uso de RAM y segfaults. Me encontré reiniciandolighttpd
cada 30 minutos para mantener el sitio web activo.Cambié a php-fpm y nginx, y el uso de RAM se redujo de> 20 GB a 2 GB. Segfaults también desapareció. Después de investigar un poco, aprendí que lighttpd y fcgi no se llevan bien en máquinas de múltiples núcleos bajo carga, y también tienen problemas de pérdida de memoria en ciertos casos.
¿Esto se debe a
php-fpm
ser mejor quefcgi
? No del todo, pero la forma en que te conectasphp-fpm
parece ser mucho más eficiente que la forma en que sirvesfcgi
.fuente
Ejecutar PHP como CGI significa que básicamente le dice a su servidor web la ubicación del archivo ejecutable PHP, y el servidor ejecuta ese ejecutable
mientras
PHP FastCGI Process Manager (PHP-FPM) es un demonio FastCGI alternativo para PHP que permite que un sitio web maneje cargas extenuantes. PHP-FPM mantiene grupos (trabajadores que pueden responder a las solicitudes de PHP) para lograr esto. PHP-FPM es más rápido que los métodos tradicionales basados en CGI, como SUPHP, para entornos PHP multiusuario
Sin embargo, existen ventajas y desventajas para ambos y uno debe elegir según su caso de uso específico.
Encontré información en este enlace para fastcgi vs fpm bastante útil para elegir qué controlador usar en mi escenario.
fuente