Wir haben ein Cluster-Setup mit 3 Servern, auf allen 3 Servern läuft Weblogic zum Hosten der Website. Darüber hinaus wird Apache als Load Balancer verwendet.
Letztes Jahr habe ich den Apache-HTTP-Server von 2.4.9 auf 2.4.29 aktualisiert. Vor dem Upgrade funktionierte alles einwandfrei, aber nach dem Upgrade hängt sich Apache alle 2-4 Wochen auf. Die Website wird unzugänglich. Beim Überprüfen des Servers sehen wir keinen Fehler. Tatsächlich wird in dem Moment, in dem sich Apache aufhängt, auch die Protokollierung beendet.
Wir haben den Speicherverbrauch überwacht und keine abnormale Art von Website-Anforderungen festgestellt. Vor dem Auftreten des Problems haben wir auch keine verdächtigen laufenden Prozesse festgestellt.
Nach einer Suche im Internet fand ich heraus, dass das Problem mit der MPM-Konfiguration zusammenhängen könnte. Apache verwendete Event-MPM, aber ich fand heraus, dass die Event-MPM-Konfiguration nicht in der Apache-Konfiguration deklariert war. Ich denke, während des Upgrades wurde die Standardkonfiguration durch die alte Konfiguration ersetzt.
Daher haben wir die MPM-Konfiguration geändert, um die folgende Event-MPM-Konfiguration zu verwenden, und diese Änderung hat funktioniert. In den nächsten 6 Monaten hatten wir dieses Problem nicht mehr.
StartServers 4 MinSpareThreads 256 MaxSpareThreads 512 ThreadsPerChild 64 MaxRequestWorkers 2048 MaxConnectionsPerChild 0
Wir dachten, das Problem sei behoben, aber nun, nach 6 Monaten, hängt sich Apache erneut auf. Als einzige Symptome sehen wir einen Anstieg der „Closed_Wait“-Verbindungen von 20 auf 550 in der nächsten Stunde, keinen Zugriff auf die Website, Apache hat die Protokollierung in seinen SSL- und Fehlerprotokollen gestoppt, wir sehen kein abnormales Verhalten in den Daten verschiedener laufender Prozesse, der Speichernutzung und auch keine verdächtigen Anfragen, bevor das Problem auftrat.