Mod_php o FastCGI de Apache? ¿Cuál es bueno para WordPress?

Tengo una idea básica sobre ejecutar PHP en diferentes configuraciones como mod_php, cgi, FastCGI, etc.

En mis hallazgos y pruebas, encontré que FastCGI es un poco mejor. Me gusta más el soporte de FastCGI para SuEXEC. Espera, no quiero entrar en el negocio de benchmarking aquí de nuevo. Si navega por la web, encontrará personas que demuestran que una de las formas es más rápida que otra en términos de cantidad de solicitudes manejadas por segundo. Bueno, son buenas métricas, pero estoy interesado en diferentes factores y estas son mis preguntas …

  1. ¿Qué método de ejecución de PHP consume menos memoria?
  2. También qué método consume memoria casi constante. Veo con mod_php el uso de memoria de mi servidor fluctuando entre 300MB y 800MB, cada pocos segundos.
  3. Pero con FastCGI, la primera respuesta del servidor llega muy tarde. Veo que con FastCGI hay un retraso inicial por solicitud de página web. Una vez que llega la primera respuesta del servidor, otros elementos como imágenes, css, js se cargan bastante más rápido.
  4. ¿Está bien ejecutar una mezcla de ambos? Tengo 5 sitios en el servidor dedicado. ¿Está bien si ejecuto unos pocos con mod_php y descanso con FastCGI?
  5. Estoy seguro de que mi servidor se cae principalmente debido al uso incorrecto de la memoria por mod_php. Revisé todas las secuencias de comandos. ¿Hay alguna manera de asegurarse de que el consumo de memoria en el servidor permanezca casi constante?
  6. ¿La complejidad de .htaccess afecta el uso de la memoria de manera significativa? En caso afirmativo, ¿puede ser una razón única para hacer que el servidor se quede sin memoria?
  7. ¿La configuración de prefork / worker de apache MPM afecta el consumo de memoria? ¿Afectan mod_php y modo FastCGI por igual?
  8. Cuando ejecuto el comando “superior”, veo que apache (httpd) consume memoria de alrededor de 40MB. Hay muchas instancias de ejecución de httpd. Además de eso, FastCGI bifurca algunos procesos de tamaño similar. ¿Cuál es el tamaño de memoria normal para el proceso de httpd?
  9. Como estoy ejecutando WordPress en todos nuestros sitios, ¿cuál será la mejor manera en ese contexto?
  10. ¿FastCGI / SuExec funciona bien con APC? ¿Necesito reconfigurar APC para trabajar con SuEXEC y FastCGI?

Tenga en cuenta que estoy menos interesado en sobrevivir contra DIGG o picos de tráfico. Quiero una forma que pueda hacer que el servidor sea estable y predecible.

Lo siento si estoy confundido pero estoy realmente en el caos. Tengo 512 MB de RAM física, 400 MB de intercambio y mi servidor se está quedando sin memoria como loco. El requisito de memoria promedio es de alrededor de 350 MB, solo los picos de uso de la memoria hacen que la memoria no esté disponible durante unos segundos y si se reciben pocos accesos extra en esa segunda ventana, Apache se cuelga mientras que mysql y todos los demás tipos siguen funcionando bien.

Por favor, ayúdenme chicos. No voy a comprar más RAM o hardware. Estoy absolutamente seguro de que el problema está en mi configuración. Lo siento si sueno arrogante o ignorante.

Solutions Collecting From Web of "Mod_php o FastCGI de Apache? ¿Cuál es bueno para WordPress?"

¿Qué método de ejecución de PHP consume menos memoria?

Supongo que por cada solicitud procesada por PHP son más o menos lo mismo. Pero si tiene mod_php cargado en Apache que sirve imágenes también, entonces supongo que su espacio de memoria será mayor debido a que sirve archivos estáticos.

También qué método consume memoria casi constante. Veo con mod_php el uso de memoria de mi servidor fluctuando entre 300MB y 800MB, cada pocos segundos.

Puedes hacer ambas cosas bastante constantes. Si configura cuidadosamente MaxClients, MinSpareServers y MaxSpareServers, podrá saber cuántos procesos se están ejecutando. Si también configura memory_limit dentro de su configuración de PHP, puede calcular cuánta memoria necesita. También puede hacer lo mismo con fcgi, ya que puede decidir cuántos procesos se están ejecutando.

Pero con FastCGI, la primera respuesta del servidor llega muy tarde. Veo que con FastCGI hay un retraso inicial por solicitud de página web. Una vez que llega la primera respuesta del servidor, otros elementos como imágenes, css, js se cargan bastante más rápido.

Esto no tiene sentido. No estoy seguro de por qué sucede en tu caso.

¿Está bien ejecutar una mezcla de ambos? Tengo 5 sitios en el servidor dedicado. ¿Está bien si ejecuto unos pocos con mod_php y descanso con FastCGI?

Supongo, pero será una pesadilla tanto de mantener como probablemente sea más difícil de configurar para guardar la memoria . Todo lo contrario, creo.

Estoy seguro de que mi servidor se cae principalmente debido al uso incorrecto de la memoria por mod_php. Revisé todas las secuencias de comandos. ¿Hay alguna manera de asegurarse de que el consumo de memoria en el servidor permanezca casi constante?

Configure la memoria y los procesos como he descrito anteriormente, y siga supervisando.

¿La complejidad de .htaccess afecta el uso de la memoria de manera significativa? En caso afirmativo, ¿puede ser una razón única para hacer que el servidor se quede sin memoria?

No lo creo. por .htaccess por directorio puede ralentizar las cosas, pero a menos que exista algún error grave en Apache, no debería causar un consumo masivo de memoria.

¿La configuración de prefork / worker de apache MPM afecta el consumo de memoria? ¿Afectan mod_php y modo FastCGI por igual?

Podría, pero recomiendo mantenerse alejado del trabajador, ya que PHP no es seguro para subprocesos.

Cuando ejecuto el comando “superior”, veo que apache (httpd) consume memoria de alrededor de 40MB. Hay muchas instancias de ejecución de httpd. Además de eso, FastCGI bifurca algunos procesos de tamaño similar. ¿Cuál es el tamaño de memoria normal para el proceso de httpd?

30 MB es el min. El límite superior depende de su aplicación (he visto casos en los que era ~ 1GB)

Como estoy ejecutando WordPress en todos nuestros sitios, ¿cuál será la mejor manera en ese contexto?

Probablemente es una cuestión de gusto. Recientemente me alejé de apache hacia nginx + fastcgi. toma un poco de tiempo acostumbrarse, pero funciona bien. No hay problemas de ningún tipo con wordpress (incluso no con supercache, que es bastante complicado en términos de servidor web).

¿FastCGI / SuExec funciona bien con APC? ¿Necesito reconfigurar APC para trabajar con SuEXEC y FastCGI?

No estoy usando suExec, pero fastcgi funciona bien con APC. No es necesario configurar nada.

Intenté cambiar a mod_php , muchas afirmaciones sobre su velocidad. No se dio cuenta de que mod_php se quema a través de la memoria extra cuando se sirven archivos estáticos. (No me importó demasiado el problema de seguridad con los archivos propietarios de la raíz).

Sin una configuración CDN, fastcgi es tu elección para servir aplicaciones PHP. Sin ella, el cambio de fcgi a mod_php redujo el tiempo de generación de mi página, de 3895 ms a 6264 ms (páginas de administración en alojamiento compartido).