La aplicación PHP (ExpressionEngine) tarda en cargarse en IIS 7, MySQL, FastCGI

StackOverflow https://stackoverflow.com/questions/1412179

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy trabajando en la depuración de un problema de lentitud que tengo al ejecutar ExpressionEngine (una aplicación PHP) en IIS 7.

No creo que esto sea realmente un problema con ExpressionEngine, sino más bien un problema con mi configuración de PHP / MySQL.

El problema se muestra así:

  1. Ir a la dirección del sitio web
  2. IE " gira " durante 10-15 segundos, esperando para cargar. Durante este tiempo:
    • el uso del procesador es mínimo en el servidor, y el proceso de PHP está inactivo
    • Veo una conexión para el usuario del sitio en MySQL, pero el hilo está en '' durmiendo '' más.
    • Hay mucha memoria libre en el servidor
    • más o menos, el servidor está haciendo nada
  3. Después de 10-15 segundos, veo que la conexión MySQL ejecuta algunas consultas realmente rápidas (muy rápido) y el sitio se carga en menos de un segundo.

Este es un sitio bastante complejo, pero no tiene ningún sentido que todo el sistema esté allí sentado esperando 10 segundos, sin procesar nada. Estoy usando FastCGI en IIS7, que parece estar funcionando bien, y para mí esto parece una especie de problema de tiempo de espera en el que FastCGI, PHP o tal vez incluso MySQL están esperando algo, no lo obtienen, y después de que se agota el tiempo de espera , continuando el proceso.

¿Alguien tuvo experiencias similares?

¡Gracias!

P.S. - También debo agregar que la base de datos (MySQL) y PHP se están ejecutando en el mismo servidor.

¿Fue útil?

Solución 3

No tengo idea de por qué, pero la solución a esto fue instalar PHP 5.3. Tenía PHP 5.2.10 ejecutándose, y supongo que 5.3 agregó algunas optimizaciones extensas para Windows. O solucionó algún otro problema extraño: quién sabe.

En realidad, después de investigar un poco más, parece que el problema estaba en el complemento de Twitter. Espera 25 segundos para volver de Twitter en algún momento con un error. ¿Quizás esto está relacionado con el DNS?

Otros consejos

mysql podría estar intentando hacer un DNS inverso en la conexión desde el servidor web. si no necesita filtrar las conexiones mysql por nombre DNS, agregue skip-name-resolve a su archivo de configuración de mysql

Los complementos de Twitter causan muchos problemas en los sistemas CMS. Por lo general, hay una función que comprueba si Twitter está allí / vivo. Cuando Twitter está ocupado, esto ralentiza el sistema (es por eso que puede aparecer como intermitente) Encuentra el complemento de Twitter y la rutina que verifica si Twitter está allí. Comente este código y devuelva verdadero (es decir, no pregunte a Twitter si está allí, solo asuma que está)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top