
Ich habe ein Problem mit einem Apache, der mit zu vielen Anfragen ins Stocken gerät. Wenn ich mir die Serverstatusseite anschaue, sehe ich, dass die meisten Verbindungen im Status "Reading Request" sind, aber nicht beendet werden. Wenn ich einen ordnungsgemäßen Neustart durchführe, verschwinden alle "Reading Request"-Verbindungen. Da der Neustart nicht lange dauert, kann ichGlaubendie Anschlüsse werden nicht mehr genutzt.
Der Apache füllt sich mit diesen Anfragen über einen gewissen Zeitraum (> 30 Minuten). Wenn die Verbindungen jedoch nicht mehr verwendet werden, würde ich erwarten, dass ein Timeout diese Verbindungen beendet, aber das passiert nicht oder das Timeout ist zu lang.
Weiß jemand, welches Timeout diese Verbindungen beenden sollte, oder suche ich an der falschen Stelle?
Einige Details zum Setup:
Apache 2.0.55 auf HP-UX mit mod_jk 1.2.10
Die meisten Verbindungen im Status „Reading Request“ sind Verbindungen zu einem Tomcat-Backend über mod_jk (Client --> HP-UX Apache --> Tomcats), aber nicht alle.
Ich weiß, dass mod_jk eine sehr alte Version ist, es ist geplant, sie bald zu aktualisieren.
Ich vermute jedoch nicht, dass es an mod_jk liegt, da derselbe Effekt auftritt, wenn die Verbindungen zu einem anderen Apache mit neuerem mod_jk umgeleitet werden und dann die Verbindungen zu den Tomcats (Client --> HP-UX Apache --> Linux Apache --> Tomcats) umgeleitet werden. Es ist immer der HP-UX Apache, der mit „RR“-Verbindungen vollgestopft wird.
Antwort1
Was ist der Inhalt Ihrer Datei workers.properties? Versuchen Sie socket_timeout zu verwenden?
socket_timeout 0 Socket timeout in seconds used for the communication
channel between JK and remote host. If the remote host
does not respond inside the timeout specified, JK will
generate an error, and retry again. If set to zero
(default) JK will wait for an infinite amount of time on
all socket operations.
Standardmäßig ist das Socket-Timeout unendlich.
Antwort2
Was sind die Timeout-Werte für Apache in httpd.conf? Und ist Keepalive ein- oder ausgeschaltet? Ein zu langer Timeout würde leicht zu dem führen, was Sie gerade sehen.