sql >> Base de Datos >  >> RDS >> Mysql

PHP FastCGI aleatorio / Restablecimiento de conexión por pares / encabezados incompletos

Este problema generalmente no es solo específico del host, también está relacionado con el desarrollador, según la configuración. Sin embargo, algunos hosts son bastante estrictos con FastCGI y limitarán sus capacidades. tiene una necesidad específica de usar FastCGI en su aplicación.

Necesitaríamos ver su envoltorio fcgi (qué hay en /dev/shm/blackmou-php.fcgi) o .htaccess para generar FastCGI, para ayudarlo mejor sin saber qué archivos y el código que está en esos archivos ocurre con el problema. ¿Sus hosts también usan Apache, LightHttpd o Nginx (o una combinación)? En ese momento, sugiero enfáticamente actualizar para usar PHP 5.3.9+

Dado que esto puede deberse a cualquier cantidad de problemas, FastCGI evita que su sitio o secuencias de comandos sean atacados por una denegación de servicio o se bloqueen debido a fugas de memoria, etc. de solicitudes o quedarse atascado en un bucle sin fin al agotar el tiempo y finalizar el proceso)

Este error en particular generalmente es causado por un tiempo de espera inactivo (30 segundos de forma predeterminada) o un límite máximo de procesos secundarios. También puede ser causado por alguien que inicia un script de ejecución prolongada y cierra su navegador/conexión antes de que se complete el script.

FastCGI inicia su contenedor de procesos, ejecuta un comando, se agota el tiempo de espera antes de completar el proceso, la conexión se ve restablecida por el par.

Otro ejemplo es que se alcanza el máximo de niños (maxProcesses) (EG:muchos sitios muestran 2 o 4 como ejemplo cuando en realidad puede necesitar 20 o 50 dependiendo del tráfico promedio) Si todos los niños están actualmente activos y una solicitud adicional/ se realiza la conexión, los elementos secundarios se limitan a maxProcesses, a los que FastCGI no compartirá los elementos secundarios activos, por lo que primero debe finalizar el proceso e iniciar un nuevo proceso secundario, o descartar la solicitud, según sus configuraciones.

Aquí hay más información sobre la configuración:

http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html

http://www.fastcgi.com/drupal/node/10

Ejemplo de envoltorio

PHP_FCGI_CHILDREN=0 #no limit
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=10000
export PHP_FCGI_MAX_REQUESTS

ACTUALIZAR

Para agregar a esto, esto también puede ser causado por el límite de memoria php

Si lo anterior no resuelve su problema, actualice su php.ini para aumentar memory_limit