Die maximale Anzahl von MySQL-Verbindungen beträgt 151. Die maximale Anzahl von Verbindungen zur MySQL-Datenbank bezieht sich auf die maximale Anzahl von Verbindungen, die gleichzeitig mit der MySQL-Datenbank hergestellt werden können. Diese Zahl ist für Webanwendungen mit hohem Datenverkehr und große Unternehmensanwendungen von entscheidender Bedeutung überschritten wird, können keine neuen Verbindungen aufgebaut werden, was zum Absturz der Anwendung oder zu Leistungsproblemen führt.
Das Betriebssystem dieses Tutorials: Windows 10-System, MySQL-Version 8.0, Dell G3-Computer.
Die maximale Anzahl an Verbindungen zur MySQL-Datenbank bezieht sich auf die maximale Anzahl von Verbindungen, die gleichzeitig mit der MySQL-Datenbank hergestellt werden können. Diese Zahl ist für Webanwendungen mit hohem Datenverkehr und große Unternehmensanwendungen von entscheidender Bedeutung. Wenn die maximale Anzahl an Verbindungen überschritten wird, werden keine neuen Verbindungen hergestellt, was zu Anwendungsabstürzen oder Leistungsproblemen führt.
Normalerweise beträgt die standardmäßige maximale Anzahl von MySQL-Verbindungen 151 und das Maximum kann 16384 erreichen.
Überprüfen Sie die maximale Anzahl der MySQL-Verbindungen:
show variables like '%max_connections%’;
Überprüfen Sie die aktuell tatsächliche maximale Anzahl der verwendeten Verbindungen:
show global status like 'Max_used_connections';
Es ist angemessener, wenn die tatsächliche Anzahl der Verbindungen 85 % der maximalen Anzahl der Verbindungen beträgt, damit wir dies können Legen Sie die maximale Anzahl von Verbindungen basierend auf der tatsächlichen Anzahl von Verbindungen fest (wenn Sie die maximale Anzahl von Verbindungen auf mehr als 1024 festlegen möchten, müssen Sie auch die Obergrenze des Dateideskriptors ändern).
Überlegen: Ist es am besten, die Anzahl der Verbindungen auf das Maximum (16384) einzustellen?
Wir stellen die Anzahl der Verbindungen auf die maximale Anzahl von Verbindungen ein, die von MySQL unterstützt werden, damit unser MySQL-Server viele Verbindungen gleichzeitig unterstützen kann, und wir können auch selten auf die Fehlermeldung
MySQL: ERROR 1040: Too many connections
stoßen.
Wenn max_connections jedoch aufgrund von Serverressourcenbeschränkungen zu groß eingestellt ist, erschöpft die Datenbank die Serverressourcen und reagiert aufgrund der Aufrechterhaltung einer großen Anzahl von Verbindungen nicht mehr. Denn für jede zusätzliche Verbindung erstellt MySQL einen Thread, um die Verbindung aufrechtzuerhalten, und die CPU muss beim Umschalten zwischen Threads die Kontextinformationen des entsprechenden Threads neu laden. Wenn die Anzahl der Verbindungen weiter zunimmt, wechselt die CPU weiterhin zwischen den Threads Abfragen jeder Verbindung.
Wenn Sie also einen größeren max_connections-Wert festlegen, besteht möglicherweise das Risiko einer Verschlechterung der Datenbankleistung aufgrund der Annahme zu vieler Verbindungen oder sogar einer Nichtreaktion aufgrund von Ressourcenerschöpfung.
Datenbankverbindungspool
Ein Datenbankverbindungspool verwaltet einen Cache von Datenbankverbindungen, sodass die Verbindung wiederverwendet werden kann, wenn in Zukunft eine Anfrage an die Datenbank gestellt werden muss. Verbindungspooling wird verwendet, um die Leistung beim Ausführen von Befehlen in der Datenbank zu verbessern. Denn jedes Mal, wenn Sie eine Verbindung zur Datenbank herstellen, müssen Sie eine TCP-Verbindung herstellen. Wenn Sie bei jedem Zugriff auf die Datenbank eine Verbindung herstellen, diese schließen und beim nächsten Zugriff erneut eine Verbindung herstellen müssen, ist dies eine Verschwendung Daher stellen wir die erstellte Verbindung in den Verbindungspool, nehmen sie, wenn Sie sie benötigen, und stellen sie wieder in den Verbindungspool, wenn Sie sie nicht benötigen (wobei Platz gegen Zeit ausgetauscht wird).
Wenn die Anzahl der von der Anwendung aus dem Verbindungspool angeforderten Verbindungen die maximale Anzahl von Verbindungen überschreitet, werden diese Anforderungen zur Warteschlange hinzugefügt.
Überlegen: Ist es umso besser, je größer der Datenbankverbindungspool ist?
Wäre es nicht das Beste, wenn wir den Datenbankverbindungspool auf die maximale Anzahl von MySQL-Verbindungen einstellen würden? Dadurch kann sichergestellt werden, dass unser Dienst über die maximale Anzahl verfügbarer Verbindungen verfügt. Jedes Mal, wenn eine Datenbankanfrage eingeht, stehen uns kostenlose Verbindungen zur Verfügung.
In diesem Fall sind wir wieder bei dem Problem, auf das wir oben gestoßen sind (was zum Risiko einer Verschlechterung der Serverleistung aufgrund der Aufrechterhaltung zu vieler Datenbankverbindungen oder sogar zu einer Nichtreaktion aufgrund von Ressourcenerschöpfung führen kann)
Das obige ist der detaillierte Inhalt vonWas ist die maximale Anzahl von Verbindungen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!