Auf dieser Seite wird beschrieben, wie Sie die in Ihrer Datenbank aktiven Abfragen überwachen und Fehler beheben. Aktive Abfragen sind lang andauernde Abfragen in Ihrer Datenbank, die sich auf die Leistung auswirken können. Mit dem Monitoring dieser Abfragen können Sie Ursachen für Systemlatenz und hohe CPU-Auslastung erkennen.
Aktive Abfragen finden Sie im Query Insights-Dashboard. Diese Abfragen 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, da das System aufgrund der Speichereinschränkungen die Erfassung dieser Daten erzwingt.
Hinweise
Wenn Sie aktive Abfragen sehen möchten, müssen Sie die erweiterten Funktionen für Abfragestatistiken aktivieren und die Analyse aktiver Abfragen für Ihre Instanz so aktivieren:
Rufen Sie in der Google Cloud Console die Seite Cluster auf.
Klicken Sie in der Liste der Cluster und Instanzen auf eine primäre oder eine Lesepoolinstanz.
Klicken Sie auf Query Insights.
Klicken Sie auf Einstellungen bearbeiten.
Wählen Sie im Fenster Einstellungen für Query Insights bearbeiten die Option Erweiterte Query Insights-Funktionen für AlloyDB aktivieren > Analyse aktiver Abfragen aus.
Klicken Sie auf Änderungen speichern.
Klicken Sie im Fenster Änderungen erfordern Neustart auf Bestätigen und neu starten.
Sie können die Unterstützung von Gemini in Datenbanken verwenden, um Ihre AlloyDB for PostgreSQL-Ressourcen zu beobachten und Fehler zu beheben. Weitere Informationen finden Sie unter Mit Gemini in Datenbanken beobachten und Fehler beheben.
Aktive Abfragen aufrufen
So rufen Sie Ihre aktiven Abfragen auf:
Erstellen Sie eine benutzerdefinierte Rolle und fügen Sie die IAM-Berechtigung
databaseinsights.monitoringViewer
hinzu.Fügen Sie diese Rolle für jeden Nutzer hinzu, der aktive Abfragen anzeigt.
Öffnen Sie in der Google Cloud Console die Seite AlloyDB.
Klicken Sie auf den Namen eines Clusters, um die Seite Übersicht zu öffnen.
Wählen Sie den Tab Query Insights aus. Im Query Insights-Dashboard werden Details zum ausgewählten Cluster angezeigt.
Klicken Sie auf den Tab Ansicht „Aktive Abfragen“. Der Tab enthält eine Zusammenfassung der aktiven Abfragen sowie die 50 am längsten laufenden Transaktionen.
Sie können die Informationen nach folgenden Kriterien filtern:
- Datenbanken: Filtert die Abfragelast für eine bestimmte Datenbank oder für alle Datenbanken.
- Nutzer: Filtert die Abfragelast von einem bestimmten Datenbanknutzer oder allen Nutzern.
- Knoten-ID: Wird nur für Lesepool-Instanzen angezeigt. Filtert die Abfragelast auf einem bestimmten Lesepool-Instanzknoten oder auf allen Knoten.
Zusammenfassung aller normalisierten 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 Verbindungen nach verschiedenen Warteereignistypen.
- Verteilung der Transaktionsdauer für Abfragen, die sich nicht im Inaktivitätsstatus befinden.
Am längsten laufende Transaktionen: Bietet einen Überblick über die 50 am häufigsten ausgeführten Abfragen im Status
active
undidle in transaction
basierend auf absteigender Ausführungszeit.
Im Dashboard „Query Insights“ finden Sie eine Liste der 50 wichtigsten normalisierten aktiven Abfragen.
Eine normalisierte aktive Abfrage entfernt sensible Daten und gibt einen Digest zurück. Zwei Abfragen, die bis auf die Werte der WHERE-Klausel identisch sind, haben dieselbe Zusammenfassung. Betrachten Sie beispielsweise die folgenden drei Beispielabfragen:
select * from my_table where id = 1;
select * from my_table where id = 2;
select * from my_table where id = 100;
Die normalisierte Version dieser Abfragen ist die folgende Zusammenfassung:
select * from my_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
In der folgenden Tabelle werden die Spalten der Tabelle Am längsten laufende Transaktionen im Dashboard „Abfragestatistiken“ beschrieben:
Spaltenname | Beschreibung |
---|---|
Prozess-ID | Die Prozess-ID ist die eindeutige Kennzeichnung der Datenbankverbindung. |
Knoten-ID | Die Knoten-ID ist die eindeutige Kennung des Knotens der Lesepoolinstanz, auf dem eine Abfrage ausgeführt wird. |
Abfrage | Normalisierter SQL-Abfragetext. |
Status | Der aktuelle Status der Verbindung. Zulässige Statuswerte sind active und idle in transaction . |
Sitzungsdauer | Die Dauer der aktuellen Sitzung (in Sekunden). |
Transaktionsdauer | Die Dauer der aktuellen Transaktion (in Sekunden). |
Abfragedauer | Die Dauer der aktuell aktiven Abfrage (in Sekunden). Die Abfragedauer von Abfragen im Status idle in transaction ist 0 , da sie nicht aktiv ausgeführt werden. |
Warteereignistyp | Der auftretende Warteereignistyp während der Ausführung der Abfrage. |
Warteereignis | Das auftretende Warteereignis während der Ausführung der Abfrage. |
Datenbank | Datenbankname, auf dem diese Verbindung ausgeführt wird. |
Name der Anwendung | Name der Anwendung, auf der diese Verbindung ausgeführt wird. |
Nutzername | Name des Datenbanknutzers, der mit der Datenbank verbunden ist. |
Clientadresse | Bestimmte IP-Adresse des Clients, der eine Abfrage gesendet hat. |
Aktion | Enthält einen Link zum Beenden einer Transaktion. |
Die Anzeige wird alle 60 Sekunden automatisch aktualisiert.
Wenn Sie die Felder Datenbank und Nutzer zum Filtern verwenden, werden die Daten auf der Seite aktualisiert.
Wenn Sie statische Daten analysieren möchten, deaktivieren Sie die automatische Aktualisierung und verwenden Sie bei Bedarf das Feld Filter in der Tabelle Längst laufende Transaktionen.
Abfrage oder Transaktion 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.
Eine Transaktion kann mehrere Abfragen enthalten. Welche Abfragen derzeit aktiv sind, sehen Sie in der Spalte Abfrage in der Tabelle Am längsten laufende Transaktion.
So beenden Sie eine Abfrage oder Transaktion:
- Wählen Sie in der Tabelle Am längsten laufende Transaktion die Abfrage aus.
- Scrollen Sie nach rechts zur Spalte Aktion.
- Klicken Sie auf Verbindung beenden.
Klicken Sie im Fenster Verbindung beenden auf Bestätigen.
Die Seite wird nach dem Starten der Kündigung aktualisiert. Wenn die Beendigung fehlschlägt, wird keine Fehlermeldung ausgegeben und die Abfrage wird weiterhin in der Liste der aktiven Abfragen angezeigt. Wenn die Beendigung erfolgreich war, wird die Abfrage nicht mehr in der Liste angezeigt.