Ich verwende LiteSpeed Webserver. Es funktioniert hervorragend, wenn es mit dem LiteSpeed Cache WordPress-Plugin verwendet wird. Manchmal sehe ich jedoch, dass das error.log mit den Hinweismeldungen „Resume All Listeners“ gefüllt ist.
2019-10-22 14:11:09.999551 [NOTICE] [3490] Resume All Listeners
2019-10-22 14:11:10.493639 [NOTICE] [3490] Resume All Listeners
Hier sind einige Statistiken aus den Fehlerprotokollen.
# grep -c "Resume All Listeners" error.log.2019_10_22
21086
# grep -c "Resume All Listeners" error.log.2019_10_21
483
# grep -c "Resume All Listeners" error.log.2019_10_22.01
157314
Bei einer schnellen Google-Suche bin ich auf der Wiki-Seite von LiteSpeed gelandet. Der Inhalt der Seite lautet wie folgt:
- Dieser Hinweis wird angezeigt, wenn das Limit „Max. Verbindungen“ erreicht ist.
- Wenn es anfängt zu passieren, bedient der Server nur wenige Anfragen mit Unterbrechungen. Sie werden also überhaupt nichts von diesem Problem erfahren, es sei denn, Sie haben einige Überwachungsskripts installiert.
- Es gibt keine Möglichkeit, dieses Problem zu beheben, es wird weiter zunehmen und nach und nach werden alle Ihre Websites ausfallen.
- Die einzige Möglichkeit, dieses Problem zu beheben, besteht darin, den Server neu zu starten.
Ich habe die folgenden Einstellungen für meinen LiteSpeed-Webserver beibehalten.
Verbindungseinstellungen für die Feinabstimmung des LiteSpeed-Webservers
Dies sind sehr hohe Zahlen und mein Website-Traffic ist nicht so hoch, um diese Grenze zu überschreiten. Trotzdem sehe ich manchmal, dass meine error.log-Datei mit „Resume All Listeners“-Meldungen gefüllt wird.
Indikatoren für den Fehler „Alle Listener fortsetzen“
- Reduzierter Traffic :Ich habe Google Analytics verwendet, um den Verkehr auf meiner Website zu verfolgen. Ich habe jedes Mal einen Rückgang von etwa 20 % festgestellt, wenn dieser Fehler auftaucht.
- Website-Überwachungsdienste :Ich verwende Uptime Robot, um die Ausfallzeiten meiner Websites zu überwachen. Wenn Sie sporadisch Meldungen über Ausfallzeiten Ihrer Websites erhalten, aber wenn Sie nachsehen und alles in Ordnung ist, könnte dies daran liegen.
- Webseite lädt manchmal nicht :Wenn alles in Ordnung ist und Ihre Website plötzlich nicht geladen wird und das Problem beim Aktualisieren oder in ein paar Minuten behoben ist, könnte dies an diesem Fehler liegen.
- Reichweite der Leser :JournalDev ist eine beliebte Website und oft bekomme ich Nachrichten von den Benutzern, dass meine Website nicht geladen wird. Es ist immer eine gute Idee, schnell das Serverfehlerprotokoll zu überprüfen, um festzustellen, ob es bei einigen Benutzern zufällig aufgrund eines Listener-Fehlers auftritt.
Fix für den Fehler „Alle Listener fortsetzen“
Wir wissen, dass die einzige Lösung darin besteht, den Server neu zu starten. Wir können die Server nicht ständig manuell überprüfen. Aus diesem Grund habe ich ein einfaches Shell-Skript geschrieben, um in der error.log-Datei nach dem „Resume All Listeners“ zu suchen und wenn es einen bestimmten Schwellenwert überschreitet, den Server einfach neu zu starten.
Da bei jedem Serverneustart eine neue error.log-Datei erstellt wird, müssen wir uns um die früheren Fehlermeldungen nicht kümmern.
Hier ist das Shell-Skript, das für mich funktioniert.
lsws_restarts_script.sh
#!/bin/bash
result=`/usr/bin/grep -c "Resume All Listeners" /usr/local/lsws/logs/error.log`
date_time=`date`
echo $date_time $result >> /root/scripts/lsws_restarts_script_logs.log
if [ $result -gt 100 ]
then
echo $date_time "Restarting LSWS Server" >> /root/scripts/lsws_restarts_script_restart_logs.log
restart_msg=`/usr/local/lsws/bin/lswsctrl restart`
sleep 5
echo $date_time $restart_msg >> /root/scripts/lsws_restarts_script_restart_logs.log
else
echo "All Seems Good" >> /root/scripts/lsws_restarts_script_logs.log
fi
Ich habe es mit dem crontab-Befehl so eingestellt, dass es alle 2 Minuten ausgeführt wird.
*/2 * * * * /root/scripts/lsws_restarts_script.sh > /dev/null
Hinweis :Das Skript funktioniert gut auf meinem Ubuntu-Server. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie möglicherweise geringfügige Änderungen vornehmen, damit es funktioniert.
Schlussfolgerung
Jetzt mache ich mir keine Sorgen darüber, dass LiteSpeed wegen Verbindungserschöpfung nicht reagiert. Das Skript führt die erforderlichen Schritte aus, um den Server neu zu starten. Wenn Sie das Skript hilfreich finden, teilen Sie es auch mit anderen.