Ich versuche zu verstehen, was mit der folgenden Meldung in unserem Apache 2.2-Fehlerprotokoll passiert:
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
p
Wir führen Apache 2.2 mit mod_proxy aus. Hat dieser Apache eine Zeitüberschreitung für die Anforderung in Bezug auf den 5-Minuten-TimeOut-Wert in der httpd.conf? (Das bedeutet, dass in 5 Minuten keine Antwort vom Remote-Server empfangen wird.) Oder ist dies einfach eine Antwort vom Remote-Server, die besagt, dass die Verbindung nicht verarbeitet werden kann?
Apache hat schnell keine MaxClients mehr, wenn ich diesen Fehler sehe.
Kurzes Beispiel für einen Proxy-Eintrag:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
quelle
Timeout
Wert verwendet. Siehe httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxytimeout und httpd.apache.org/docs/2.2/mod/core. html # timeoutEs hört sich so an,
https://super-load1-ga.example.com
als würde es zu lange dauern, bis Ihr Server antwortet.In diesem Szenario wartet der Apache-Prozess darauf, wenn er sich nur dort befindet. Dieser Prozess ist im Wesentlichen blockiert, dh kann nichts anderes tun. Wenn Sie nicht schnell genug eine Auszeit nehmen, werden Ihnen die Apache-Prozesse ausgehen und Sie können auf MaxClients zugreifen, was anscheinend Sinn macht.
Sie sollten Protokolle auf der Website super-load1-ga.test.com haben, um zu sehen, wie lange Anfragen dauern. Sie müssen ein Alter haben.
Möglicherweise können Sie das Zeitlimit für die ProxyPass-Verbindung verkürzen
http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers
quelle
Um Ihre Frage zu beantworten: Ja, Apache2 httpd im Proxy-Modus protokolliert diese Fehlermeldung, wenn Apache2 httpd das Zeitlimit überschreitet. Wenn der mit dem Apache2-httpd im Proxy-Modus verbundene Server die Ursache wäre, würde eine andere Nachricht angezeigt.
Die Meldung besteht aus mehreren Teilen:
The timeout specified has expired
Entspricht dem Text desAPR_TIMEUP
Fehlercodes, siehe:srclib / apr / misc / unix / errorcodes.c
Dann
proxy: error reading status line from remote server super-load1-ga.test.com
ist inmodules / proxy / mod_proxy_http.c
Wenn Sie Ihren Log-Level auf APLOG_DEBUG hochdrehen, sollten Sie eine zusätzliche Meldung sehen:
proxy: read timeout
auch.quelle