Tutoriales y Manuales
Entradas Mensuales
-
▼
2025
(Total:
244
)
-
▼
febrero
(Total:
79
)
-
PHP: mod_php vs CGI vs FastCGI vs FPM
-
RansomHub fue el principal grupo de ransomware de ...
-
Microsoft bloquea 7.000 ataques a contraseñas por ...
-
Trucos para Telegram
-
Vulnerabilidad crítica en FortiOS Security Fabric ...
-
Steam sufrió un ataque DDoS sin precedentes aunque...
-
Docker Desktop para Windows con WSL o Hyper-V
-
Filtración masiva de datos de IoT con 2.734 millon...
-
Guía de compra GPU - Nomenclatura Tarjetas Gráfica...
-
WhatsApp se integra con Instagram para mostrar enl...
-
Android System SafetyCore
-
Google usará la IA para conocer tu edad y modifica...
-
Apple soluciona una vulnerabilidad Zero-Day explot...
-
Ataques de phishing en imágenes SVG
-
¿Qué es la generación aumentada de recuperación (R...
-
Goku AI: la inteligencia artificial china de códig...
-
AMD prepara una Radeon RX 9070 XTX con 32 GB de me...
-
Tutorial: SSH en Windows (Servidor y Cliente)
-
Túnel TCP con Cloudflare Tunnel
-
"Cambio automático de contraseñas" en Google Chrom...
-
La Unión Europea busca movilizar 200.000 millones ...
-
Microsoft elimina una página de ayuda para desinst...
-
Cloudflare Tunnels
-
¿Qué es una shell inversa?
-
Le Chat, la IA más avanzada hecha en Europa
-
Google Gemini 2.0 Pro IA
-
ChatGPT en WhatsApp
-
Filtrados los datos personales de 3 millones de us...
-
Movistar España bloquea internet en un intento por...
-
Thunderbolt vs USB-C: qué son, diferencias y cómo ...
-
El Reino Unido ordena a Apple que le permita acced...
-
Inteligencia artificial en local en tu PC
-
Qué fuente de alimentación elegir según la tarjeta...
-
Tecnología RTX Neural de nvidia
-
Mizuno confirma ataque ransomware BianLian con fil...
-
Múltiples vulnerabilidades críticas en productos d...
-
WinScript permite personalizar, optimizar y config...
-
Cloudflare Turnstile: una nueva alternativa a reCA...
-
NanaZip 5.0: todas las novedades del mejor compres...
-
Barcelona Supercomputing Center (BSC) estrena prim...
-
Cisco corrige vulnerabilidades críticas de ISE que...
-
Logran ejecutar DOOM en un adaptador de Lightning ...
-
Aprovechan vulnerabilidad de IIS de hace 6 años pa...
-
Exingeniero de Google es acusado en EEUU de robar ...
-
Vulnerabilidad zero-day crítica en Android
-
Verificación de identidad o 'Identity check' : la ...
-
Europa quiere prohibir el envío de consolas a Rusi...
-
La Comisión Europea quiere acabar con la exención ...
-
DeepSeek: Una investigación revela a dónde van tus...
-
Google cambia las directrices de su IA y elimina u...
-
Detenido en Alicante 'Natohub,' de 18 años que hac...
-
Diferencias y velocidades entre PCIe Gen 4 y PCIe ...
-
OCuLink, el mejor conector para gráficas externas ...
-
Así es la pila atómica que ha presentado China cap...
-
Instalar DeepSeek en local en Android con Termux
-
Todos los modelos de IA de OpenAI
-
Las impresoras 3D en Estados Unidos podrían ser in...
-
El Pentágono bloquea DeepSeek en menos de una sema...
-
Limpieza y mantenimiento de una tarjeta gráfica
-
Conectores PCI Express x16, x8, x4 y x1: diferenci...
-
Reportan algunos problemas para las GeForce RTX 5090
-
Microsoft presenta el Surface USB4 Dock por 99$
-
NVIDIA Studio Voice convierte el mediocre micrófon...
-
OpenAI quiere diseñar robots humanoides impulsados...
-
Europa anuncia OpenEuroLLM, su plan para plantarle...
-
OpenAI quiere reemplazar los smartphones con un di...
-
Análisis de las principales vulnerabilidades explo...
-
WhatsApp detecta un ataque de spyware tipo Pegasus...
-
El coste real de DeepSeek no fue de 6 millones de ...
-
Windows Paint tendrá un botón de Copilot para acel...
-
Guía DeepSeek: funciones y cosas que puedes hacer ...
-
Cómo utilizar un SSD NVMe en Raspberry Pi
-
OpenAI responde a DeepSeek publicando o3 para todos
-
Cómo crear gráficos a partir de datos con ChatGPT
-
App falsa de DeepSeek roba datos en Mac
-
Deep Research, nueva herramienta de investigación ...
-
NoName057 realiza nuevos ataques DDoS España: a la...
-
Detenida en Valencia una pareja clave en la gestió...
-
Manual funcionamiento GParted (edita, modifica y r...
-
-
▼
febrero
(Total:
79
)
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Fortinet ha publicado una actualización de seguridad que aborda una vulnerabilidad de alta gravedad en su FortiOS Security Fabric, la...
-
Windows tiene un cliente SSH integrado y un servidor SSH que puede usar en Terminal Windows. En este tutorial, aprenderá a configurar un p...
-
Según un nuevo estudio de Sophos , los cibercriminales han aumentado el uso de archivos gráficos para difundir enlaces maliciosos y malware...
PHP: mod_php vs CGI vs FastCGI vs FPM
Existen varias alternativas para conectar el intérprete de PHP con Apache, cada una de ellas con sus ventaja e inconvenientes. Vamos repasar las principales e intentaremos responder a la pregunta de cuál es la más adecuada en función del uso que le vayamos a dar.
Estoy seguro de que a muchos de vosotros os suena lo siguiente: te dispones a instalar un servidor web, abres la consola de Linux, instalas Apache, y cuando buscas el paquete de PHP te encuentras que tienes varias opciones: php7.2, php7.2-cgi, php7.2-fpm o libphp7.2-embed. Dudas sobre cual elegir pero no tienes tiempo o ganas de investigar, sabes que el paquete php7.2 funcionará con total seguridad, así que lo instalas y continuas con la siguiente tarea.
Si has vivido esta situación, no te sientas culpable, no tengas remordimientos de conciencia, no estás solo, somos muchos los que hemos actuado así, pero sigue leyendo y la próxima vez podrás elegir la mejor opción para tus necesidades.
PHP: mod_php vs CGI vs FastCGI vs FPM
Existen varias alternativas para conectar el intérprete de PHP con Apache, cada una de ellas con sus ventaja e inconvenientes. Hoy vamos repasar las principales e intentaremos responder a la pregunta de cuál es la más adecuada en función del uso que le vayamos a dar.
Estoy seguro de que a muchos de vosotros os suena lo siguiente: te dispones a instalar un servidor web, abres la consola de Linux, instalas Apache, y cuando buscas el paquete de PHP te encuentras que tienes varias opciones: php7.2, php7.2-cgi, php7.2-fpm o libphp7.2-embed. Dudas sobre cual elegir pero no tienes tiempo o ganas de investigar, sabes que el paquete php7.2 funcionará con total seguridad, así que lo instalas y continuas con la siguiente tarea.
Si has vivido esta situación, no te sientas culpable, no tengas remordimientos de conciencia, no estás solo, somos muchos los que hemos actuado así, pero sigue leyendo y la próxima vez podrás elegir la mejor opción para tus necesidades.
También es importante destacar que PHP hereda los permisos del usuario de Apache. Esto implica que nobody será el propietario de cualquier archivo creado por PHP, pudiendo generar algunos conflictos de permisos.
Ventajas de DSO
- Fácil instalación y configuración.
- Buen rendimiento.
Inconvenientes de DSO
- Alto consumo de recursos.
- Los archivos creados por PHP pertenecen a Apache.
CGI
CGI son las siglas de Common Getway Interface. Como su propio nombre indica es una interface y su cometido es permitir a Apache interactuar con programas externos, en este caso con PHP. Es un sistema que prácticamente podemos denominar como legacy y está cada vez más en desuso debido a su pobre rendimiento y a la existencia de alternativas más modernas y eficientes.
Al utilizar esta interface, cada petición de PHP inicia un proceso independiente que es finalizado cuando concluye su labor. Este modus operandi consigue que CGI sea muy eficiente en el consumo de memoria pero pobre en rendimiento. En sitios web con alto tráfico el sistema de creación y destrucción de procesos implica un uso de procesador demasiado elevado, por lo que no es nada recomendable para este tipo de sites.
Y al igual que con DSO, Apache será el propietario de lo archivos que generemos o subamos al servidor haciendo uso de PHP, pero ya hemos visto que este problema tiene fácil solución.
Ventajas de CGI
- Fácil de instalar y configurar.
- Consumo de recursos moderado en sites con poco tráfico.
Inconvenientes de CGI
- Rendimiento pobre.
- Alto consumo de procesador en sites con tráfico elevado.
- Los archivos creados por PHP pertenecen a Apache.
FastCGI
Podemos decir que FastCGI es la evolución de CGI, y surge por la necesidad disponer de un sistema con las ventaja de Common Getway Interface pero minimizando sus inconvenientes.
Al contrario que CGI, FastCGI mantiene la sesión abierta de forma persistente y no la cierra una vez que ha concluido el proceso por el que la abrió. Con esto se consigue un rendimiento similar a DSO a costa de elevar el consumo de memoria pero manteniéndolo por debajo de éste.
Una gran ventaja de FastCGI es que podemos configurar nuestro servidor para que trabaje con múltiples versions de PHP, lo que es particularmente útil cuando en una misma máquina tenemos aplicaciones que requieren versiones distintas de PHP.
Otra característica muy interesante es que podemos separar el host dónde corre Apache del host qué interpreta PHP, ofreciéndonos una gran versatilidad en el diseño de nuestro sistema.
Por último y haciendo referencia al propietario de los archivos creados por PHP, FastCGI hace uso de suEXEC para permitir definir la propiedad de los archivos. Esto es particularmente útil en entornos compartidos dónde es posible configurar distintos propietarios para distintos sites
Ventajas de FastCGI
- Buen rendimiento.
- Consumo de recursos moderado.
- Posibilidad de ejecutar Apache y PHP en distintos hosts.
- Posibilidad de trabajar con distintas versiones de PHP.
- Posibilidad de definir el propietario de los archivos.
Inconvenientes de FastCGI
- Mayor complejidad de configuración.
FPM
FPM o FastCGI Process Manager ha sido el último en llegar, y no es más que una implementación de FastCGI con varias características orientadas a la mejora del comportamiento para sitios web con mucho tráfico.
Cómo la diferencia entre FastCGI y FPM comienzan a adentrarse en un terreno muy técnico, no entraremos en mucho detalle, ero si mencionaremos algunas de estas mejoras:
- Manejo avanzado para detener/arrancar procesos de forma fácil.
- Posibilidad de iniciar hilos de procesos con diferentes uid/gid/chroot/environment.
- Escuchar en diferentes puertos.
- Usar distintos php.ini
- Uso de safe_mode.
Si quieres ver la lista completa de estas ventajas puedes hacerlo en la página dedicada a FPM en php.net.
Ventajas de FPM
- Buen rendimiento.
- Consumo de recursos moderado.
- Todas las ventajas de FastCGI.
- Más opciones de configuración que FastCGI.
Inconvenientes de FPM
- Mayor dificultad de instalación y configuración.
Tabla comparativa
Para intentar ser prácticos, podemos resumir lo que hemos visto en una tabla comparativa, que si bien carece de muchos matices puede darnos una visión bastante clara con tan solo un vistazo.
DSO | CGI | FastCGI | FPM | |
---|---|---|---|---|
Rendimiento | Bueno | Malo | Bueno | Bueno |
Consumo de recursos | Alto | Medio-Alto | Medio | Medio |
Archivos propiedad de Apache | Si | Si | No | No |
Dificultad de configuración | Baja | Baja | Alta | Alta |
Opciones de configuración | Media | Media | Alta | Muy Alta |
mod_php, CGI, FastCGI ó FPM, cuál es mejor?
Y la respuesta que muchos esperaréis después de leer (o no) esta entrada es: cuál es mejor? Y la respuesta más habitual a este tipo de preguntas es: para qué?
Para entornos de desarrollo, entornos de prueba o para pequeñas intranets sin excesiva carga recomendaría DSO. Es fácil de configurar, rinde bien y no tendremos problemas de recursos. El único motivo por el que me decantaría por otra opción sería si necesitáramos tener más de una versión de php corriendo en la misma máquina. En tal caso la opción más apropiada sería FastCGI.
Si nos vamos al lado opuesto, sites con muchísimo tráfico, dónde confieso que no tengo ninguna experiencia, parece que la mejor opción es FPM, por: rendimiento, consumo de recursos y versatilidad.
Y entre el espacio que dejan las dos situaciones propuestas es quizás dónde mejor encajaría FastCGI, asumiendo que los motivos que influyen en la decisión última no permiten trazar líneas delimitadoras claras y recomendar hasta aquí esta opción y a partir de aquí la otra. En su lugar nos dejan una amplia gama de grises en función de las características del entorno.
Para acabar, personalmente intentaría no utilizaría CGI, pues no encuentro ninguna característica diferenciadora que compense el peor rendimiento y mayor consumo de recursos.
Fuentes:
https://blog.ahierro.es/php-mod_php-vs-cgi-vs-fastcgi-vs-fpm/
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.