io/socket/sql/client_verbindung - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

io/socket/sql/client_verbindung

Dieses io/socket/sql/client_connection-Ereignis tritt auf, wenn ein Thread gerade eine neue Verbindung verarbeitet.

Unterstützte Engine-Versionen

Diese Warteereignisinformationen werden für die folgenden Engine-Versionen unterstützt:

  • Aurora Meine SQL Versionen 2 und 3

Kontext

Das io/socket/sql/client_connection-Ereignis zeigt an, dass mysqld damit beschäftigt ist, Threads zu erstellen, um eingehende neue Clientverbindungen zu verarbeiten. In diesem Szenario verlangsamt sich die Verarbeitung neuer Clientverbindungsanfragen, während Verbindungen warten, bis der Thread zugewiesen wird. Weitere Informationen finden Sie unter MySQL-Server (mysqld).

Wahrscheinliche Ursachen für erhöhte Wartezeiten

Wenn dieses Ereignis mehr als normal auftritt und möglicherweise auf ein Leistungsproblem hinweist, sind typische Ursachen:

  • Es gibt einen plötzlichen Anstieg neuer Benutzerverbindungen von der Anwendung zu Ihrer RDS Amazon-Instance.

  • Ihre DB-Instance kann keine neuen Verbindungen verarbeitenCPU, da das Netzwerk oder der Speicher gedrosselt wird.

Aktionen

Wenn io/socket/sql/client_connection die Datenbankaktivität dominiert, weist dies nicht unbedingt auf ein Leistungsproblem hin. In einer Datenbank, die nicht im Leerlauf ist, ist ein Warteereignis immer im Vordergrund. Handeln Sie nur, wenn die Leistung nachlässt. Abhängig von den Ursachen Ihres Warteereignisses empfehlen wir unterschiedliche Maßnahmen.

Identifizieren Sie die problematischen Sitzungen und Abfragen

Wenn Ihre DB-Instance einen Engpass hat, besteht Ihre erste Aufgabe darin, die Sitzungen und Abfragen zu finden, die ihn verursachen. Einen nützlichen Blogbeitrag finden Sie unter Analysieren Sie Amazon Aurora My SQL Workloads with Performance Insights.

So identifizieren Sie Sitzungen und Abfragen, die einen Engpass verursachen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Performance-Insights aus.

  3. Wählen Sie Ihre DB-Instance aus.

  4. Wählen Sie unter Datenbanklast die Option Nach Wartezeit aufteilen.

  5. Wählen Sie unten auf der Seite Top ausSQL.

    Die Abfragen oben in der Liste verursachen die höchste Belastung der Datenbank.

Befolgen Sie die bewährten Methoden für die Verbindungsverwaltung

Berücksichtigen Sie die folgenden Strategien, um Ihre Verbindungen zu verwalten:

Vergrößern Sie Ihre Instance, wenn Ressourcen gedrosselt werden

Suchen Sie nach Beispielen für die Drosselung in den folgenden Ressourcen:

  • CPU

    Überprüfen Sie Ihre CloudWatch Amazon-Metriken auf hohe CPU Nutzung.

  • Netzwerk

    Prüfen Sie, ob der Wert der CloudWatch Kennzahlen gestiegen ist network receive throughput undnetwork transmit throughput. Wenn Ihre Instance das Netzwerkbandbreitenlimit für Ihre Instance-Klasse erreicht hat, sollten Sie erwägen, Ihre RDS Instance auf einen höheren Instance-Klassentyp hochzuskalieren. Weitere Informationen finden Sie unter Amazon Aurora Aurora-DB-Instance-Klassen.

  • Freisetzbarer Speicher

    Prüfen Sie, ob die CloudWatch Metrik gesunken istFreeableMemory. Ziehen Sie auch in Erwägung, die erweiterte Überwachung zu aktivieren. Weitere Informationen finden Sie unter Überwachen von Betriebssystem-Metriken mithilfe von „Enhanced Monitoring“·(Erweiterte·Überwachung).

Prüfen Sie die Top-Hosts und Top-Benutzer

Verwenden Sie Performance Insights, um die Top-Hosts und Top-Benutzer zu überprüfen. Weitere Informationen finden Sie unter Analyse der Metriken mit dem Performance Insights-Dashboard.

Fragen Sie die performance_schema-Tabellen ab

Um eine genaue Anzahl der aktuellen und gesamten Verbindungen zu erhalten, fragen Sie die performance_schema-Tabellen ab. Mit dieser Technik identifizieren Sie den Quellbenutzer oder Host, der für das Erstellen einer hohen Anzahl von Verbindungen verantwortlich ist. Fragen Sie die performance_schema-Tabellen beispielsweise wie folgt ab.

SELECT * FROM performance_schema.accounts; SELECT * FROM performance_schema.users; SELECT * FROM performance_schema.hosts;

Prüfen Sie die Thread-Zustand Ihrer Abfragen

Wenn Ihr Leistungsproblem andauert, überprüfen Sie die Thread-Zustand Ihrer Abfragen. Geben Sie im mysql-Client den folgenden Befehl aus.

show processlist;

Prüfen Sie Ihre Anfragen und Abfragen

Um die Art der Anfragen und Abfragen von Benutzerkonten zu überprüfen, verwenden Sie AuroraAurora My SQL Advanced Auditing. Weitere Informationen zum Aktivieren der Prüfung finden Sie unter Verwenden von Advanced Auditing mit einem Amazon Aurora My SQL DB-Cluster.

Kombinieren Sie Ihre Datenbankverbindungen

Erwägen Sie die Verwendung von Amazon RDS Proxy für die Verbindungsverwaltung. Durch die Verwendung von RDS Proxy können Sie es Ihren Anwendungen ermöglichen, Datenbankverbindungen zu bündeln und gemeinsam zu nutzen, um ihre Skalierbarkeit zu verbessern. RDS Proxy macht Anwendungen widerstandsfähiger gegenüber Datenbankausfällen, indem es automatisch eine Verbindung zu einer Standby-DB-Instance herstellt und gleichzeitig die Anwendungsverbindungen beibehält. Weitere Informationen finden Sie unter Amazon RDS-Proxy für Aurora.