Aktive Abfragen überwachen

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 eine große Anzahl von Abfragen ausgeführt wird, sind die Ergebnisse möglicherweise auf eine Teilmenge der Gesamtzahl der Abfragen beschränkt.

Hinweis

Zum Überwachen aktiver Abfragen können Sie entweder die Cloud SQL Enterprise- oder die Cloud SQL Enterprise Plus-Version verwenden.

Wenn Sie eine Sitzung oder eine lang andauernde Transaktion in aktiven Abfragen beenden möchten, müssen Sie die Cloud SQL Enterprise Plus-Version für Ihre Cloud SQL-Instanz verwenden.

Weitere Informationen zu den Cloud SQL-Versionen finden Sie unter Einführung in die Cloud SQL-Versionen.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, in dem sich die Cloud SQL-Instanz befindet, damit Sie die Berechtigungen zum Aufrufen aktiver Abfragen erhalten:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Aufrufen aktiver Abfragen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Zum Aufrufen aktiver Abfragen sind die folgenden Berechtigungen erforderlich:

  • Zusammenfassung der Datenbankaktivität und lang andauernde Transaktionen ansehen:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Aktive Abfragen aktivieren

So aktivieren Sie aktive Abfragen für eine Cloud SQL Enterprise-Instanz:

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie in der Kachel Konfiguration auf Konfiguration bearbeiten.
  4. Maximieren Sie im Bereich Instanz anpassen die Option Query Insights.
  5. Prüfen Sie, ob Query Insights aktivieren aktiviert ist.
  6. Wählen Sie Aktive Abfrageanalyse aus.
  7. Klicken Sie auf Speichern.

So aktivieren Sie aktive Abfragen für eine Cloud SQL Enterprise Plus-Instanz:

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie in der Kachel Konfiguration auf Konfiguration bearbeiten.
  4. Maximieren Sie im Bereich Instanz anpassen die Option Query Insights.
  5. Prüfen Sie, ob Query Insights aktivieren aktiviert ist.
  6. Wählen Sie Enterprise Plus-Funktionen aktivieren aus.
  7. Wählen Sie Aktive Abfrageanalyse aus.
  8. Klicken Sie auf Speichern.

Wenn Sie eine Sitzung oder eine lang andauernde Transaktion in aktiven Abfragen beenden möchten, müssen Sie Query Insights für die Cloud SQL Enterprise Plus-Version verwenden.

Aktive Abfragen deaktivieren

So deaktivieren Sie aktive Abfragen für eine Cloud SQL Enterprise- oder Cloud SQL Enterprise Plus-Instanz:

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie in der Kachel Konfiguration auf Konfiguration bearbeiten.
  4. Maximieren Sie im Bereich Instanz anpassen die Option Query Insights.
  5. Entfernen Sie das Häkchen aus dem Kästchen Aktive Abfrageanalyse.
  6. Klicken Sie auf Speichern.

Aktive Abfragen ansehen

So rufen Sie Ihre aktiven Abfragen auf:

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

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

  3. 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.
  4. Klicken Sie auf den Tab Aktive Abfragen.

    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:

      1. Verteilung der aktiven Verbindungen, die nach Verbindungsstatus kategorisiert sind.
      2. Verteilung der aktiven Transaktionen nach dem Transaktionsstatus.
      3. Verteilung der Abfragedauer.
    • Am längsten laufende Transaktionen: Bietet einen Überblick über die 50 am häufigsten ausgeführten Abfragen (im Status aktiv und inaktiv im Transaktionsstatus) 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 Query Insights enthält die folgenden Spalten:

Spaltenname Beschreibung
Prozess-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 ausgeführten aktiven Transaktion.
Abfragedauer Dauer der letzten in dieser Transaktion ausgeführten Abfrage.
Warteereignistyp Warteereignistyp des auftretenden Warteereignisses.
Warteereignis Anstehendes Warteereignis.
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 Nutzers, 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.

Über das vertikale Menü Optionen für die Inhaltsanzeige... können Sie die anzuzeigenden Spalten filtern.

Vorgang beenden

Wenn Sie einen Vorgang oder eine lang andauernde Transaktion in aktiven Abfragen beenden möchten, müssen Sie die Cloud SQL Enterprise Plus-Version verwenden und sowohl Aktive Abfrageanalyse als auch Query Insights für die Cloud SQL Enterprise Plus-Version aktivieren.

Das Beenden von Vorgängen mit langer Ausführungszeit kann länger dauern.

So beenden Sie eine Abfrage oder Transaktion:

  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 hat, wird eine Erfolgsmeldung angezeigt. Das System führt bei Bedarf auch ein Rollback durch.

Blockierte aktive Abfragen

Wenn eine bestimmte aktive Abfrage blockiert ist oder viel länger als erwartet ausgeführt wird, kann diese aktive Abfrage andere abhängige Abfragen blockieren.

Mit Cloud SQL können Sie bestimmte lang andauernde oder blockierte aktive Abfragen beenden.

Analyse blockierter aktiver Abfragen aktivieren

Standardmäßig wird in der Console nicht angezeigt,welche aktiven Abfragen blockiert sind. Google Cloud Wenn Sie blockierte aktive Abfragen analysieren möchten, müssen Sie zuerst sowohl die Cloud SQL Enterprise Plus-Version als auch aktive Abfragen für die Instanz aktivieren.

So aktivieren Sie die Analyse blockierter aktiver Abfragen:

Console

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Maximieren Sie Query Insights.
  5. Wählen Sie sowohl Enterprise Plus-Funktionen aktivieren als auch Aktive Abfrageanalyse aus. Beide Einstellungen sind erforderlich.
  6. Wählen Sie Analyse blockierter Abfragen aus.
  7. Klicken Sie auf Speichern.

Blockierte aktive Abfrage identifizieren und beenden

Die folgenden Schritte zeigen, wie Sie eine bestimmte aktive Abfrage identifizieren und beenden, die möglicherweise andere Abfragen blockiert.

Console

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzen Seite.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie im SQL-Navigationsmenü auf Query Insights.
  4. Klicken Sie auf den Tab Aktive Abfragen.

    Wenn Sie noch keine aktiven Abfragen ausführen, rufen Sie Cloud SQL Studio auf und führen Sie die Abfragen aus, die Sie untersuchen möchten.

  5. Wechseln Sie zum Abschnitt Am längsten laufende Transaktionen. Sie können bis zu 50 der am längsten laufenden aktiven Abfragen sehen.

    Jeder Eintrag enthält die folgenden Informationen:

    • Prozess-ID: Die Prozess-ID der Abfrage. Klicken Sie auf Maximieren , um den Eintrag aufzurufen. Sie sehen eines von zwei Symbolen:
      • Sanduhrsymbol: Dieses Symbol zeigt an, dass der Vorgang darauf wartet, dass eine andere Abfrage abgeschlossen wird. Wenn neben dem Symbol eine Zahl angezeigt wird, gibt diese an, wie viele abhängige Abfragen darauf warten, dass dieser Vorgang abgeschlossen wird.
      • Symbol für Blockierung: Dieses Symbol zeigt an, dass der Vorgang nicht abgeschlossen werden kann und möglicherweise andere Abfragen blockiert.
    • Abfragetyp: Der Typ der ausgeführten Abfrage, z. B. SELECT oder UPDATE.
    • Status: Der Status der aktiven Abfrage, z. B. ACTIVE.
    • Sitzungsdauer (Sekunden): Die Dauer der aktuellen Sitzung in Sekunden.
    • Transaktionsdauer (Sekunden): Die Dauer der aktuell aktiven Transaktion in Sekunden.
    • Abfragedauer (Sekunden): Die Dauer der aktuell aktiven Abfrage in Sekunden.
    • Warteereignistyp: Der gerade auftretende Warteereignistyp während der Ausführung der Abfrage, z. B. Zeitüberschreitung oder Sperre.
    • Warteereignis: Das gerade auftretende Warteereignis während der Ausführung der Abfrage.
    • Aktion: Mögliche Maßnahmen, z. B. Verbindung beenden.

    Klicken Sie, um die Prozess-ID zu maximieren, die Sie untersuchen möchten. Sie können untergeordnete Prozesse im Untersuchungsbaum auf bis zu drei Ebenen maximieren.

  6. Identifizieren Sie die blockierte Abfrage und klicken Sie dann auf Verbindung beenden. Nachdem Sie die Verbindung beendet haben, können Sie zu Cloud SQL Studio wechseln, um Ihre aktiven Abfragen noch einmal auszuführen.

Nächste Schritte