Heim > Artikel > Backend-Entwicklung > Im PHP-FPM-Protokoll wird eine große Anzahl von Scoreboard-Fehlern angezeigt, bei denen der Erwerb fehlgeschlagen ist
Im PHP-FPM-Protokoll gibt es eine große Anzahl fehlgeschlagener Erfassungen, was dazu führt, dass der untergeordnete Prozess die maximale Anzahl an Anforderungen erreicht. Nach dem Beenden können keine neuen untergeordneten Prozesse aufgerufen werden Der Masterprozess bleibt übrig.
Das Protokoll lautet wie folgt:
<code>ERROR: [pool ] no free scoreboard slot WARNING: [pool www] child 31311 said into stderr: "WARNING: failed to acquire proc scoreboard" </code>
Als dieses Problem nach der Untersuchung auftrat, wurde in einer Anfrage 500 angezeigt. Der Grund, warum 500 angezeigt wurde, war, dass die Ergebnismenge der Datenbankabfrage relativ groß war. Als diese Situation auftrat, wurde auch das Systemprotokoll angezeigt.
<code>TCP: time wait bucket table overflow </code>
Kennt jemand den Grund?
Im PHP-FPM-Protokoll gibt es eine große Anzahl fehlgeschlagener Erfassungen, was dazu führt, dass der untergeordnete Prozess die maximale Anzahl an Anforderungen erreicht. Nach dem Beenden können keine neuen untergeordneten Prozesse aufgerufen werden Der Masterprozess bleibt übrig.
Das Protokoll lautet wie folgt:
<code>ERROR: [pool ] no free scoreboard slot WARNING: [pool www] child 31311 said into stderr: "WARNING: failed to acquire proc scoreboard" </code>
Als dieses Problem nach der Untersuchung auftrat, wurde in einer Anfrage 500 angezeigt. Der Grund, warum 500 angezeigt wurde, war, dass die Ergebnismenge der Datenbankabfrage relativ groß war. Als diese Situation auftrat, wurde auch das Systemprotokoll angezeigt
<code>TCP: time wait bucket table overflow </code>
Kennt jemand den Grund?
WARNING: failed to acquire proc scoreboard
Liegt dieses Problem daran, dass die im Big-Data-Ergebnissatz abgefragten Daten für den Betrieb im Speicher gespeichert werden und das Serversystem dann nicht über genügend Speicher verfügt? time wait bucket table overflow
Aufgrund eines Problems bei der Verarbeitung von Anfragen wurde eine große Anzahl von TCP
Verbindungen verursacht, und die Anzahl der Verbindungen überstieg das vom System konfigurierte tcp_max_tw_buckets
Maximum.
Probieren Sie die Lösung aus:
Systemspeicher erhöhen
Verarbeiten Sie große Datenergebnismengen in Blöcken oder lesen Sie große Datenbankergebnismengen zeilenweise (Cursormodus)
Ändern Sie den zugehörigen Wert von tcp_max_tw_buckets
Das Obige ist rein persönliche Spekulation und dient nur als Referenz, da mir dieser Fehler noch nie begegnet ist
Überprüfen Sie, ob ein Skript viel Speicher verbraucht