Heim >Datenbank >MySQL-Tutorial >Detaillierte Analyse von MySQL und dem damit verbundenen Timeout
Beim Abfragen der MySQL-Bibliothek wird die Sitzung immer dann unterbrochen, wenn die Datenmenge relativ groß ist. Zuerst dachte ich, es handele sich um ein Timeout-Problem im Zusammenhang mit MySQL und der Verbindung, aber es stellte sich heraus, dass es die Ursache für die Netzwerkinstabilität war. In diesem Artikel werden hauptsächlich detaillierte Informationen zu MySQL und verbindungsbezogenen Zeitüberschreitungen vorgestellt. Freunde, die sie benötigen, können darauf zurückgreifen.
Im Folgenden wird das Zeitlimit im Zusammenhang mit der Verbindung zusammengefasst
Slave-Net-Timeout
Die Anzahl der Sekunden, die gewartet werden muss für weitere Daten vom Master, bevor der Slave die Verbindung als unterbrochen ansieht, den Lesevorgang abbricht und versucht, die Verbindung wiederherzustellen. Der erste Wiederholungsversuch erfolgt unmittelbar nach dem Timeout. Das Intervall zwischen den Wiederholungsversuchen wird durch die Option MASTER_CONNECT_RETRY für die Anweisung CHANGE MASTER TO gesteuert Die Anzahl der Wiederverbindungsversuche wird durch die Option --master-retry-count begrenzt. Der Standardwert beträgt 3600 Sekunden (eine Stunde).
Wenn der Slave denkt, dass es ein Problem mit der Verbindung zum Master gibt, wartet er auf N Sekunden und trennt dann die Verbindung, Master erneut verbinden
net_read_timeout:
Die Anzahl der Sekunden, die auf weitere Daten von einer Verbindung gewartet werden soll, bevor der Lesevorgang abgebrochen wird liest vom Client, net_read_timeout ist der Timeout-Wert, der den Zeitpunkt des Abbruchs steuert.
Die Anzahl der Sekunden, die auf den Erhalt von Daten von einer Verbindung gewartet werden müssen, bevor der Lesevorgang beendet wird, wenn der Dienst Daten vom Client liest. net_read_timeout steuert, wann der Timeout erfolgt .
net_write_timeout:
Die Anzahl der Sekunden, die darauf gewartet wird, dass ein Block in eine Verbindung geschrieben wird, bevor der Schreibvorgang abgebrochen wird. Wenn der Server ist Beim Schreiben auf den Client ist net_write_timeout der Timeout-Wert, der steuert, wann der Abbruch erfolgen soll.
Wie viele Sekunden muss gewartet werden, um den Block in die Verbindung zu schreiben, bevor der Schreibvorgang beendet wird; wenn der Dienst Daten an den Client schreibt, steuert net_write_timeout, wann eine Zeitüberschreitung erfolgen soll
wait_timeout
Die Anzahl der Sekunden, die der Server auf Aktivität auf einer nicht interaktiven Verbindung wartet, bevor er diese schließt 🎜>interactive_timeout:
Die Anzahl der Sekunden, die der Server auf Aktivität auf einer wartet interaktive Verbindung, bevor sie geschlossen wird.Eine Verbindung ohne interaktiven Status, bis sie vom Server erzwungen wird. Die Anzahl der Sekunden, die der mysqld-Server auf ein Verbindungspaket wartet, bevor er mit Bad Handshake antwortet.
Wartezeit auf eine Verbindungsantwort
connect_timeout: Funktion während der Phase des Verbindungsaufbaus (Authentifizierung)
interactive_timeout und wait_timeout : Arbeit während der Verbindungsleerlaufphase (Ruhezustand)
net_read_timeout und net_write_timeout: Arbeit während der Verbindungsbelegungsphase (Abfrage).
Der Erhalt einer MySQL-Verbindung ist das Ergebnis mehrerer Handshakes. Zusätzlich zur übereinstimmenden Überprüfung von Benutzername und Passwort gibt es auch eine IP->HOST->DNS->IP-Überprüfung Schritt ist möglich. Der Thread ist aufgrund von Netzwerkproblemen blockiert. Um zu verhindern, dass Threads unnötiges Warten auf die Überprüfung verschwenden, werden Verbindungsanforderungen, die connect_timeout überschreiten, abgelehnt.
Auch wenn kein Netzwerkproblem vorliegt, darf der Client die Verbindung nicht ständig belegen. Bei Clients, die länger als „wait_timeout“ (oder „interactive_timeout“, abhängig vom Flag „client_interactive“) im Ruhezustand bleiben, trennt MySQL aktiv die Verbindung.
Verwandte Empfehlungen:
Erklärung von setTimeout, um die Ausführung der js-Funktion zu sehen Verarbeiten
setTimeout()-Funktion in js
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse von MySQL und dem damit verbundenen Timeout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!