Estoy tratando de entender lo que está sucediendo con el siguiente mensaje en nuestro registro de errores Apache 2.2:
Wed May 18 21:03:29 2011] [error] [client 172.20.10.10] (70007)The timeout specified has expired: proxy: error reading status line from remote server super-load1-ga.test.com, referer: https://tester2.test.com/boom/ga/inside.as
pag
Estamos ejecutando Apache 2.2 con mod_proxy. ¿Apache está apagando la solicitud relacionada con su valor TimeOut de 5 minutos en httpd.conf? (Lo que significa que no recibe una respuesta del servidor remoto en 5 minutos). ¿O es simplemente una respuesta del servidor remoto que dice que no puede manejar la conexión?
Apache se queda rápidamente sin sus MaxClients cuando veo este error.
Ejemplo rápido de entrada de proxy:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
fuente
Timeout
se utilizará su valor global . Consulte httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxytimeout y httpd.apache.org/docs/2.2/mod/core. html # timeoutParece que su servidor
https://super-load1-ga.example.com
tarda demasiado en responder.En ese escenario, si simplemente se queda allí, el proceso de Apache lo esperará. Ese proceso está esencialmente bloqueado, es decir, no puede hacer nada más. Si no agota el tiempo lo suficientemente rápido, se quedará sin procesos de Apache y llegará a MaxClients, lo que parece tener sentido.
Debería tener registros en el sitio super-load1-ga.test.com para ver cuánto tardan las solicitudes, deben estar tomando una edad.
Potencialmente podría acortar el tiempo de espera en la conexión ProxyPass
http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers
fuente
Para responder a su pregunta, sí, Apache2 httpd en modo proxy registra ese mensaje de error cuando Apache2 httpd agota el tiempo de espera. Si el servidor conectado al Apache2 httpd en modo proxy fuera la causa, habría un mensaje diferente.
El mensaje tiene múltiples partes:
The timeout specified has expired
es el texto equivalente delAPR_TIMEUP
código de error, vea:srclib / apr / misc / unix / errorcodes.c
Entonces
proxy: error reading status line from remote server super-load1-ga.test.com
está enmodules / proxy / mod_proxy_http.c
Si aumenta su nivel de registro a APLOG_DEBUG, debería ver un mensaje adicional:
proxy: read timeout
también.fuente