Aktive Abfragen überwachen

Auf dieser Seite wird beschrieben, wie Sie die in Ihrer Datenbank aktiven Abfragen überwachen und Fehler beheben. Durch Monitoring dieser Abfragen können Sie die Ursachen von Systemlatenzen und hoher CPU-Auslastung ermitteln.

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.

Hinweise

So rufen Sie Ihre aktiven Abfragen auf:

  1. Gemini in Datenbanken einrichten
  2. Erstellen Sie eine benutzerdefinierte Rolle und fügen Sie die folgenden Berechtigungen hinzu:
    Aufgaben Rollen Berechtigungen
    Empfehlungen abrufen databaseinsights.viewer databaseinsights.activeQueries.fetch
    databaseinsights.activitySummary.fetch
    Empfehlungen beenden databaseinsights.operationsAdmin

Aktive Abfragen ansehen

So rufen Sie Ihre aktiven Abfragen auf:

  1. Fügen Sie diese Rolle für jeden Nutzer hinzu, der aktive Abfragen anzeigt.

  2. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  3. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.

  4. 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.
  5. 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: Bietet einen Überblick über alle aktiven Abfragen, indem die Gesamtzahl der Verbindungen basierend auf den folgenden Parametern angezeigt wird:
      1. Verteilung aktiver Verbindungen, kategorisiert nach Verbindungsstatus.
      2. Verteilung aktiver Transaktionen basierend auf dem Transaktionsstatus.
      3. Verteilung der Abfragedauer.
    • Am längsten andauernde Transaktionen: Bietet einen Überblick über die 50 am häufigsten ausgeführten Abfragen (im Status Aktiv und Inaktiv in Transaktion) 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 anzeigen. Eine normalisierte aktive Abfrage entfernt sensible Daten und gibt einen Digest zurück. Der Digest ist für verschiedene Werte, die im folgenden Beispiel verwendet werden, identisch:

  • 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 andauernde Transaktionen anzeigen

Die Tabelle Am längsten laufende Transaktionen im Dashboard Query Insights enthält die folgenden Spalten:

Spaltenname Beschreibung
Prozesslisten-ID Eindeutige Kennung der Verbindung oder Thread-ID.
Abfrage SQL-Abfragetext.
Status Status der Verbindungen.
Sitzungsdauer Dauer der letzten ausgeführten Sitzung.
Transaktionsdauer Dauer der aktiven Transaktion, die ausgeführt wird.
Abfragedauer Dauer der letzten in dieser Transaktion ausgeführten Abfrage.
Warteereignistyp Warteereignistyp des auftretenden Warteereignisses.
Warteereignis Aktuelles Warteereignis.
Datenbank Name der Datenbank, auf der diese Verbindung ausgeführt wird.
Anwendungsname Name der Anwendung, auf der diese Verbindung ausgeführt wird.
Nutzername Name des mit der Datenbank verbundenen Nutzers.
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.

Prozess beenden

Zum Beenden einer Abfrage oder einer Transaktion benötigen Sie die Rolle databaseinsights.operationsAdmin. Weitere Informationen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.

Führen Sie die folgenden Schritte aus, um eine Abfrage oder Transaktion zu beenden:

  1. Wählen Sie in der Tabelle Am längsten laufende Transaktion eine Abfrage aus.
  2. Klicken Sie in der Spalte Aktion auf Verbindung beenden.
  3. Klicken Sie im Fenster Verbindung beenden auf Bestätigen.

Wenn das System die Abfrage oder Transaktion erfolgreich beendet, wird eine Erfolgsmeldung angezeigt. Das System führt bei Bedarf auch ein Rollback durch.