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 wird eine große Anzahl von Scoreboard-Fehlern angezeigt, bei denen der Erwerb fehlgeschlagen ist

WBOY
WBOYOriginal
2016-12-01 00:25:344960Durchsuche

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?

Antwortinhalt:

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 overflowAufgrund 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:

  1. Systemspeicher erhöhen

  2. Verarbeiten Sie große Datenergebnismengen in Blöcken oder lesen Sie große Datenbankergebnismengen zeilenweise (Cursormodus)

  3. Ä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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn