Heim  >  Artikel  >  Backend-Entwicklung  >  Wie PHP mit toten MySQL-Verbindungen umgeht

Wie PHP mit toten MySQL-Verbindungen umgeht

*文
*文Original
2018-01-02 14:05:401421Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Löschen toter MySQL-Verbindungen in PHP vorgestellt. Die Funktion zum Überprüfen und Löschen toter MySQL-Verbindungen wird durch die regelmäßige Ausführung von PHP-Skripten realisiert. Ich hoffe, es hilft allen.

Der Hauptausdruck der Verbindungssituation besteht darin, dass zu viele Schlafverbindungen vorhanden sind und die Zeit sehr lang ist und alle verfügbaren Verbindungen belegt, sodass andere Benutzer keine Verbindung mehr zur Datenbank herstellen können. Ich begann darüber nachzudenken, die MySQL-Datenbankparameter anzupassen, änderte jedoch viele Parameter und löste das Problem immer noch nicht. Deshalb habe ich mir eine rücksichtslosere Möglichkeit überlegt, ein PHP-Skript zu schreiben und es alle 2 Minuten auszuführen. Wenn eine tote Verbindung gefunden wird (länger als 120 Sekunden), wird sie auf diese Weise beendet. Das Folgende ist das Kill Small-Programm für eine unterbrochene Verbindung:

kill-mysql-sleep-proc.php:

define('MAX_SLEEP_TIME',120);
$hostname="localhost";
$username="root";
$password="password";
$connect=mysql_connect($hostname,$username,$password);
$result=mysql_query("SHOWPROCESSLIST",$connect);
while($proc=mysql_fetch_assoc($result)){
if($proc["Command"]=="Sleep"&&$proc["Time"]>MAX_SLEEP_TIME){
@mysql_query("KILL".$proc["Id"],$connect);
}
}
mysql_close($connect);
?>

Ändern Sie $password darin in Ihr tatsächliches Datenbankpasswort und die Uhrzeit von Eine tote Verbindung wird ebenfalls angezeigt. Kann geändert werden. Fügen Sie dann einfach die geplante Aufgabe hinzu. Verwenden Sie beispielsweise den Befehl crontab-e, um Folgendes hinzuzufügen:

*/2****php/usr/local/sbin/kill-mysql-sleep-proc.php

, um tote Verbindungen in der Datenbank alle 2 Minuten zu überprüfen und zu löschen

Verwandte Empfehlungen:

Wie PHP ein MySQL-Datenwörterbuch generiert

Wie PHP das Problem chinesischer verstümmelter gespeicherter MySQL-Daten löst

Detaillierte Erläuterung des Beispiels für eine superlange automatische Kürzung in MySql

Das obige ist der detaillierte Inhalt vonWie PHP mit toten MySQL-Verbindungen umgeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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