Auf dieser Seite wird beschrieben, wie Sie die in Ihrer Datenbank aktiven Abfragen überwachen und Fehler beheben. Mit dem Monitoring dieser Abfragen können Sie Ursachen für Systemlatenz und hohe CPU-Auslastung erkennen.
Im Query Insights-Dashboard können Sie eine Zusammenfassung der aktiven Transaktionen und eine Liste der Transaktionen mit zugehörigen Abfragen und Statistiken aufrufen. Die Transaktionen werden nach der Startzeit der Transaktion angezeigt. Wenn sehr viele Abfragen ausgeführt werden, sind die Ergebnisse möglicherweise auf eine Teilmenge der Gesamtabfragen beschränkt.
Sie können Gemini in der Datenbankunterstützung verwenden, um Ihre Cloud SQL for MySQL-Ressourcen zu beobachten und Fehler zu beheben. Weitere Informationen finden Sie unter Mit Gemini-Unterstützung beobachten und Fehler beheben.Hinweise
So rufen Sie Ihre aktiven Abfragen auf:
- Gemini in Datenbanken einrichten
- Erstellen Sie eine benutzerdefinierte Rolle und fügen Sie die folgenden Berechtigungen hinzu:
Tasks Rollen Berechtigungen Empfehlungen abrufen databaseinsights.viewer
databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Empfehlungen beenden databaseinsights.operationsAdmin
–
Aktive Abfragen aufrufen
So rufen Sie Ihre aktiven Abfragen auf:
Fügen Sie diese Rolle für jeden Nutzer hinzu, der aktive Abfragen anzeigt.
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
Führen Sie einen der folgenden Schritte aus, um das Dashboard Query Insights aufzurufen:
- Wählen Sie den Tab Query Insights aus.
- Zu „Query Insights“ für ausführliche Informationen über Abfragen und zur Leistung Das Dashboard "Query Insights" wird geöffnet. Oben werden Details zur Instanz angezeigt.
Klicken Sie auf den Tab Aktive Abfrageansicht.
Von hier aus können Sie die Abfrageinformationen ändern, die in der Tabelle Am längsten laufende Transaktionen angezeigt werden:
- Datenbanken: Filtert die Abfragelast für eine bestimmte Datenbank oder für alle Datenbanken.
- Nutzer: Filtert die Abfragelast aus einem bestimmten Nutzerkonto.
- Zusammenfassung aller aktiven Abfragen: Hier finden Sie einen Überblick über alle aktiven Abfragen, wobei die Gesamtzahl der Verbindungen basierend auf den folgenden Parametern angezeigt wird:
- Verteilung der aktiven Verbindungen, die nach Verbindungsstatus kategorisiert sind.
- Verteilung der aktiven Transaktionen nach dem Transaktionsstatus.
- Verteilung der Abfragedauer.
- Am längsten laufende Transaktionen: Bietet einen Überblick über die 50 am häufigsten ausgeführten Abfragen (im Status aktiv) basierend auf absteigender Ausführungszeit. Sie können aktive Abfragen in der Tabelle filtern und sortieren.
Normalisierte aktive Abfragen ansehen
Sie können eine Liste der lang andauernden Transaktionen mit normalisierten aktiven Abfragen im Dashboard Query Insights aufrufen. Eine normalisierte aktive Abfrage entfernt sensible Daten und gibt einen Digest zurück. Der Digest ist für verschiedene Werte identisch, die im folgenden Beispiel verwendet werden:
Reguläre Abfragen
select * from test_table where id=1;
select * from test_table_where id=2;
Digest- oder normalisierte Abfrage
select * from test_table where id=?;
Eine Abfrage, die in verschiedenen Sitzungen ausgeführt wird, wird im Dashboard als unterschiedliche Einträge angezeigt.
Am längsten laufende Transaktionen ansehen
Die Tabelle Am längsten laufende Transaktionen im Dashboard Abfragestatistiken enthält die folgenden Spalten:
Spaltenname | Beschreibung |
---|---|
Prozess-ID | Eindeutige Kennzeichnung der Verbindung. |
Abfrage | SQL-Abfragetext. |
Transaktionsstatus | Der aktuelle Status der Ausführung der Transaktion. Zulässige Werte sind: RUNNING , LOCK WAIT , ROLLING BACK und COMMITTING . |
Thread-Status | Der Thread-Status (oder Abfragestatus) gibt den aktuellen Status des aktiven Threads an. |
Beginn der Transaktion | Der Zeitstempel, zu dem die Transaktion gestartet wurde. |
Transaktionsdauer | Die Dauer der aktuell aktiven Transaktion in Sekunden. |
Transaktionswartezeit | Die Wartezeit (in Sekunden) für die aktuell aktive Transaktion. |
Dauer des Thread-Status | Bei der Abfrage verstrichene Zeit. |
Gesperrte Transaktionszeilen | Anzahl der Zeilen, die durch die aktuell aktive Transaktion gesperrt wurden. |
Geänderte Transaktionszeilen | Anzahl der Zeilen, die durch die aktuell aktive Transaktion geändert wurden. |
Datenbank | Datenbankname, auf dem diese Verbindung ausgeführt wird. |
Nutzername | Name des Nutzers, der mit der Datenbank verbunden ist. |
Clientadresse | Die IP-Adresse des Clients, von dem aus ein Nutzer eine Verbindung zur Datenbank herstellt. |
Aktion | Enthält einen Link zum Beenden einer Transaktion. |
Die Anzeige wird alle 60 Sekunden automatisch aktualisiert.
Verbindung beenden
Zum Beenden einer Abfrage oder Transaktion benötigen Sie die Rolle databaseinsights.operationsAdmin
. Weitere Informationen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.
So beenden Sie eine Abfrage oder Transaktion:
- Wählen Sie in der Tabelle Am längsten laufende Transaktion eine Abfrage aus.
- Klicken Sie in der Spalte Aktion auf Verbindung beenden.
- Klicken Sie im Fenster Verbindung beenden auf Bestätigen.
Eine Datenbankanfrage wird sofort zurückgegeben, während die Beendigung im Hintergrund erfolgt.