Abfragestatistiken verwenden, um die Abfrageleistung zu verbessern

Auf dieser Seite wird beschrieben, wie Sie mit dem Query Insights-Dashboard Leistungsprobleme bei Ihren Abfragen erkennen und analysieren.

Einführung

Mit Query Insights können Sie Probleme bei der Abfrageleistung in Cloud SQL-Datenbanken ermitteln, diagnostizieren und verhindern. Es unterstützt ein intuitives Monitoring und liefert Diagnoseinformationen, die Ihnen helfen, über die Erkennung hinaus die Ursache von Leistungsproblemen zu identifizieren.

Mit Query Insights können Sie die Leistung von Cloud SQL-Abfragen verbessern. Dabei werden Sie durch die folgenden Schritte geführt:

Query Insights für die Cloud SQL Enterprise Plus-Version

Wenn Sie die Cloud SQL Enterprise Plus-Version verwenden, können Sie auf zusätzliche Funktionen in Query Insights zugreifen, um eine erweiterte Diagnose der Abfrageleistung durchzuführen. Zusätzlich zu den Standardfunktionen des Query Insights-Dashboards können Sie mit Query Insights für die Cloud SQL Enterprise Plus-Version Folgendes tun:

  • Längere Abfragetexte mit bis zu 20 KB erfassen.
  • Abfragepläne für alle ausgeführten Abfragen erfassen.
  • Stichproben von bis zu 200 Abfrageplänen pro Minute.
  • Messwerte werden 30 Tage lang aufbewahrt.
  • Indexempfehlungen vom Indexberater erhalten.
  • Sitzung oder lang andauernde Transaktion in aktiven Abfragen beenden.
  • Auf die KI-gestützte Fehlerbehebung (Vorschau) zugreifen.

In der folgenden Tabelle werden die funktionalen Anforderungen und Funktionen von Query Insights für die Cloud SQL Enterprise-Version mit Query Insights für die Cloud SQL Enterprise Plus-Version verglichen.

Vergleichsbereich Query Insights für die Cloud SQL Enterprise-Version Query Insights für die Cloud SQL Enterprise Plus-Version
Unterstützte Datenbankversionen

Alle Versionen der folgenden Instanzen:

  • SQL Server Web
  • SQL Server Standard
  • SQL Server Enterprise

Query Insights wird auf SQL Server Express-Instanzen nicht unterstützt.

SQL Server Enterprise Version 2019 oder 2022
Unterstützte Maschinentypen Wird auf allen Maschinentypen unterstützt Nicht unterstützt auf Instanzen, die einen Maschinentyp mit gemeinsam genutztem Kern verwenden
Unterstützte Regionen Regionale Cloud SQL-Standorte Regionale Standorte für die Cloud SQL Enterprise Plus-Version
Aufbewahrungsdauer für Messwerte 7 Tage 30 Tage
Maximale Abfragelänge 4.500 Byte 20 KB
Maximale Anzahl von Abfrageplanstichproben 20 200
Empfehlungen des Indexberaters Nicht verfügbar Verfügbar
Sitzungen oder lang andauernde Transaktionen in aktiven Abfragen beenden Nicht verfügbar Verfügbar
KI-gestützte Fehlerbehebung (Vorschau) Nicht verfügbar Verfügbar
Kardinalitätsgrenzwerte für Abfragen Gibt die aggregierten Statistiken für alle Abfragen zurück. Gibt die aggregierten Statistiken für alle Abfragen zurück.

Query Insights für Cloud SQL Enterprise Plus aktivieren

Wenn Sie Query Insights für die Cloud SQL Enterprise Plus-Version aktivieren möchten, wählen Sie Enterprise Plus-Features aktivieren aus, wenn Sie Query Insights auf Ihrer Cloud SQL Enterprise Plus-Instanz aktivieren.

Preise

Für Query Insights auf Cloud SQL Enterprise- oder Cloud SQL Enterprise Plus-Instanzen fallen keine zusätzlichen Kosten an.

Speicherbedarf

Query Insights speichert Messwertdaten auf der Instanz. Dazu muss die Einstellung für die automatische Speichererweiterung aktiviert bleiben. Es fallen die entsprechenden Speichergebühren an.

Beschränkungen

Für Query Insights für Cloud SQL Enterprise Plus-Instanzen gelten die folgenden Einschränkungen:

  • Wenn Ihre Instanz einer hohen Systemlast ausgesetzt ist, kann es beim Abfragen von Messwertdaten im Dashboard Query Insights zu langsamen Ladezeiten oder Zeitüberschreitungen kommen.
  • Wenn Sie ein Lesereplikat neu erstellen, wird der bisherige Messwertverlauf nicht beibehalten.
  • Wenn Sie eine Query Insights für Cloud SQL Enterprise Plus-Instanz aus einer älteren Sicherung wiederherstellen, gehen möglicherweise die Messwerte verloren, die zwischen dem Zeitpunkt der Sicherung und dem Zeitpunkt der Wiederherstellung der Instanz erfasst wurden. Wenn Sie beispielsweise Ihre Instanz am 30. April mit einer Sicherung vom 25. April wiederherstellen, gehen möglicherweise alle Messwerte zwischen dem 25. April und dem 30. April verloren.

Hinweis

Führen Sie die folgenden Schritte aus, bevor Sie Query Insights verwenden.

  1. Erforderliche Rollen und Berechtigungen hinzufügen
  2. Aktivieren Sie die Cloud Trace API.
  3. Wenn Sie Query Insights für die Cloud SQL Enterprise-Version oder Query Insights für die Cloud SQL Enterprise Plus-Version verwenden, muss Automatische Speichererweiterungen aktivieren für die Instanz aktiviert sein.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, in dem die Cloud SQL-Instanz gehostet wird, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf historische Abfrageausführungsdaten im Query Insights-Dashboard benötigen:

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

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Cloud Trace API aktivieren

Wenn Sie Abfragepläne und ihre End-to-End-Ansichten aufrufen möchten, muss in Ihrem Google Cloud -Projekt die Cloud Trace API aktiviert sein. Mit dieser Einstellung kann IhrGoogle Cloud -Projekt ohne zusätzliche Kosten Trace-Daten von authentifizierten Quellen empfangen. Anhand dieser Daten können Sie Leistungsprobleme in Ihrer Instanz erkennen und diagnostizieren.

So prüfen Sie, ob die Cloud Trace API aktiviert ist:

  1. Rufen Sie in der Google Cloud Console APIs und Dienste auf:

    Zu "APIs und Dienste"

  2. Klicken Sie auf APIs und Dienste aktivieren.
  3. Geben Sie in der Suchleiste Cloud Trace API ein.
  4. Wenn API aktiviert angezeigt wird, ist diese API aktiviert und Sie müssen nichts tun. Klicken Sie andernfalls auf Aktivieren.

Automatische Speichererhöhungen aktivieren

Wenn Sie Query Insights für die Cloud SQL Enterprise Plus-Version verwenden, muss die Instanzeinstellung Automatische Speichererweiterungen aktivieren aktiviert bleiben. Diese Option ist für Cloud SQL-Instanzen standardmäßig aktiviert.

Wenn Sie diese Instanzeinstellung zuvor deaktiviert haben und Query Insights für die Cloud SQL Enterprise Plus-Version aktivieren möchten, müssen Sie zuerst die automatische Speichererweiterung wieder aktivieren. Sie können die automatische Speichererhöhung nicht deaktivieren und Query Insights für die Cloud SQL Enterprise Plus-Version nicht aktivieren.

Query Insights aktivieren

Wenn Sie Query Insights aktivieren, werden alle anderen Vorgänge vorübergehend angehalten. Zu diesen Vorgängen gehören Systemdiagnosen, Logging, Monitoring und andere Instanzvorgänge.

Console

Query Insights für eine Instanz aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.

    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 den Eintrag Query Insights.
  5. Klicken Sie das Kästchen Query Insights aktivieren an.
  6. Optional: Wählen Sie zusätzliche Funktionen für Ihre Instanz aus. Einige Funktionen sind nur für die Cloud SQL Enterprise Plus-Version verfügbar.
  7. Funktion Beschreibung Cloud SQL Enterprise-Version Cloud SQL Enterprise Plus-Version
    Enterprise Plus-Funktionen aktivieren Klicken Sie dieses Kästchen an, um Query Insights für die Cloud SQL Enterprise Plus-Version zu aktivieren. Mit Query Insights für die Cloud SQL Enterprise Plus-Version können Sie Sitzungen und lang andauernde Transaktionen in aktiven Abfragen beenden, Empfehlungen des Indexberaters aktivieren, um die Abfrageverarbeitung zu beschleunigen, und die Datenaufbewahrung für Messwertdaten auf 30 Tage erhöhen. Empfehlungen des Indexberaters werden automatisch aktiviert, wenn Sie Query Insights für die Cloud SQL Enterprise Plus-Version aktivieren. Entfernen Sie das Häkchen, um die Empfehlungen des Indexberaters zu deaktivieren. Sie müssen dieses Kästchen anklicken, um Empfehlungen des Indexberaters und die KI-gestützte Fehlerbehebung (Vorschau) zu aktivieren. Nicht verfügbar Verfügbar

    Standard: Deaktiviert
    KI-gestützte Fehlerbehebung Klicken Sie dieses Kästchen an, um die Anomalieerkennung, die Ursachen- und Situationsanalyse zu aktivieren und Empfehlungen zur Behebung von Problemen mit Ihren Abfragen und Ihrer Datenbank zu erhalten. Dieses Feature befindet sich im Vorschaumodus und kann nur über die Google Cloud Console aktiviert und aufgerufen werden. Weitere Informationen finden Sie unter Mit KI-Unterstützung beobachten und Fehler beheben. Nicht verfügbar Verfügbar

    Standard: Deaktiviert
    Abfragelänge anpassen Klicken Sie dieses Kästchen an, um die maximale Länge eines Abfragestrings anzupassen. Höhere Abfragelängen sind hilfreich für analytische Abfragen, erfordern aber auch mehr Arbeitsspeicher. Alle Abfragestrings, die das angegebene Limit überschreiten, werden in der Anzeige abgeschnitten.

    Wenn Sie das Limit für die Abfragelänge ändern, müssen Sie die Instanz neu starten.
    Sie können das Limit in Byte von 256 Byte bis 4500 Byte festlegen.

    Standard: 1024.
    Sie können ein Limit in Byte von 256 bis 20480 angeben.

    Standardwert: 10240 Byte (10 KB).
    Maximale Abtastrate festlegen Klicken Sie dieses Kästchen an, um die maximale Abtastrate festzulegen. Die Abtastrate ist die Anzahl der ausgeführten Abfrageplanstichproben, die pro Minute in allen Datenbanken der Instanz erfasst werden. Wenn Sie die Abtastrate erhöhen, erhalten Sie wahrscheinlich mehr Datenpunkte. Allerdings kann dies zu Leistungseinbußen führen. Sie ändern diesen Wert in eine Zahl von 0 bis 20.

    Standard: 5.
    Sie können den Höchstwert auf 200 erhöhen, um mehr Datenpunkte bereitzustellen.

    Standard: 5.
  8. Klicken Sie auf Speichern.

Query Insights für mehrere Instanzen aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie in einer beliebigen Zeile auf das Dreipunkt-Menü .
  3. Wählen Sie Query Insights aktivieren aus.
  4. Klicken Sie im Dialogfeld auf das Kästchen Query Insights für mehrere Instanzen aktivieren.
  5. Klicken Sie auf Aktivieren.
  6. Wählen Sie im nachfolgenden Dialogfeld die Instanzen aus, für die Sie Query Insights aktivieren möchten.
  7. Klicken Sie auf Query Insights aktivieren.

gcloud

Um Query Insights für eine Cloud SQL-Instanz mithilfe von gcloud zu aktivieren, führen Sie gcloud sql instances patch mit dem Flag --insights-config-query-insights-enabled so aus, nachdem Sie INSTANCE_ID durch die ID der Instanz ersetzt haben.

Wenn Sie Query Insights für eine Cloud SQL Enterprise Plus-Instanz aktivieren, werden die Empfehlungen des Indexberaters automatisch aktiviert.

    gcloud sql instances patch INSTANCE_ID \
    --insights-config-query-insights-enabled
  

Verwenden Sie außerdem eines oder mehrere der folgenden optionalen Flags:

  • --insights-config-query-string-length

    Legt die Standardbegrenzung für die Abfragelänge fest. Höhere Abfragelängen sind hilfreich für analytische Abfragen, erfordern aber auch mehr Arbeitsspeicher. Wenn Sie das Limit für die Abfragelänge ändern, müssen Sie die Instanz neu starten. Für die Cloud SQL Enterprise-Version können Sie einen Wert in Byte von 256 bis 4500 angeben. Die Standardlänge der Abfrage beträgt 1024 Byte. Für die Cloud SQL Enterprise Plus-Version können Sie ein Limit in Byte von 256 bis 20480 angeben. Der Standardwert ist 10240 Byte (10 KB).

  • --insights-config-query-plans-per-minute

    Standardmäßig werden in allen Datenbanken der Instanz maximal 5 ausgeführte Abfrageplanstichproben pro Minute erfasst. Wenn Sie die Abtastrate erhöhen, erhalten Sie wahrscheinlich mehr Datenpunkte. Allerdings kann dies zu Leistungseinbußen führen. Wenn Sie die Stichprobenerhebung deaktivieren möchten, setzen Sie diesen Wert auf 0. Bei der Cloud SQL Enterprise-Version können Sie den Wert von 0 bis 20 ändern. In der Cloud SQL Enterprise Plus-Version können Sie den Höchstwert auf bis zu 200 erhöhen, um mehr Datenpunkte bereitzustellen.

Ersetzen Sie Folgendes:

  • INSIGHTS_CONFIG_QUERY_STRING_LENGTH: Die zu speichernde Länge des Abfragestrings in Byte.
  • API_TIER_STRING: Die benutzerdefinierte Instanzkonfiguration, die für die Instanz verwendet werden soll.
  • REGION: Die Region für die Instanz.
gcloud sql instances patch INSTANCE_ID \
--insights-config-query-insights-enabled \
--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \
--insights-config-query-plans-per-minute=QUERY_PLANS_PER_MINUTE \
--tier=API_TIER_STRING \
--region=REGION
  

REST Version 1

Rufen Sie die Methode instances.patch mit den Einstellungen für insightsConfig auf, um Query Insights für eine Cloud SQL-Instanz mithilfe der REST API zu aktivieren.

Wenn Sie Query Insights für eine Cloud SQL Enterprise Plus-Instanz aktivieren, werden die Empfehlungen des Indexberaters automatisch aktiviert.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Projekt-ID
  • INSTANCE_ID: die Instanz-ID

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

JSON-Text anfordern:

{
  "settings" : {
     "insightsConfig" : {
       "queryInsightsEnabled" : true,
       "queryStringLength" : 1024,
       "queryPlansPerMinute" : 20,
   }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-03-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Wenn Sie Terraform verwenden möchten, um Query Insights für eine Cloud SQL-Instanz zu aktivieren, legen Sie das Flag query_insights_enabled auf true fest.

Wenn Sie Query Insights für eine Cloud SQL Enterprise Plus-Instanz aktivieren, werden automatisch Empfehlungen des Indexberaters aktiviert.

Sie können auch eines oder mehrere der folgenden optionalen Flags verwenden:

  • query_string_length: Für die Cloud SQL Enterprise-Version können Sie einen Wert in Byte von 256 bis 4500 angeben. Die Standardlänge der Abfrage beträgt 1024 Byte. Für die Cloud SQL Enterprise Plus-Version können Sie ein Limit in Byte von 256 bis 20480 angeben. Der Standardwert ist 10240 Byte (10 KB).
  • query_plans_per_minute: Für die Cloud SQL Enterprise-Version können Sie den Wert von 0 auf 20 festlegen. Der Standardwert ist 5. In der Cloud SQL Enterprise Plus-Version können Sie den Höchstwert auf bis zu 200 erhöhen, um mehr Datenpunkte bereitzustellen.

Beispiel:

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud -Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Standardprojekt von Google Cloud fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud -Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Messwerte sollten innerhalb von Minuten nach Abschluss der Abfrage in Query Insights verfügbar sein.

Query Insights-Dashboard ansehen

Im Query Insights-Dashboard wird die Abfragelast basierend auf von Ihnen ausgewählten Faktoren angezeigt. Die Abfragelast ist ein Maß für die Gesamtarbeit aller Abfragen in der Instanz im ausgewählten Zeitraum. Das Dashboard bietet eine Reihe von Filtern, mit denen Sie die Abfragelast anzeigen können.

So öffnen Sie das Query Insights-Dashboard:

  1. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  2. Klicken Sie im Cloud SQL-Navigationsmenü auf Query Insights oder auf der Seite Instanzübersicht auf Zu „Query Insights“ für ausführliche Informationen über Abfragen und zur Leistung.
  3. Das Dashboard Query Insights wird geöffnet. Je nachdem, ob Sie Query Insights für die Cloud SQL Enterprise-Version oder Query Insights für die Cloud SQL Enterprise Plus-Version verwenden, werden im Query Insights-Dashboard die folgenden Informationen zu Ihrer Instanz angezeigt:

Zeigt das Query Insights-Dashboard mit Drop-down-Menüs für Datenbanken an. Rechts neben den Drop-down-Menüs gibt es einen Filter zum Festlegen eines Zeitraums.

  • Datenbanken: Filtert die Abfragelast für eine bestimmte Datenbank oder für alle Datenbanken.
  • Zeitraum: Filtert die Abfragelast nach Zeiträumen, z. B. 1 Stunde, 6 Stunden, 1 Tag, 7 Tage, 30 Tage oder einen benutzerdefinierten Bereich.
  • Diagramm zur Datenbanklast: Zeigt das Abfrageladediagramm basierend auf den gefilterten Daten an.
  • Abfragen und Datenbanken: Filtert die Abfragelast entweder nach einer ausgewählten Abfrage oder einer ausgewählten Datenbank. Siehe Datenbanklast filtern.

Datenbanklast für alle Abfragen ansehen

Die Anzahl der Datenbankabfragen ist eine Messung der Arbeit (in CPU-Sekunden), die von den ausgeführten Abfragen in der ausgewählten Datenbank im Zeitverlauf ausgeführt wird. Bei jeder ausgeführten Abfrage wird entweder CPU-Ressourcen, E/A-Ressourcen oder Sperren von CPU-Ressourcen verwendet oder darauf gewartet. Die Datenbankabfragelast ist das Verhältnis der Zeit, die von allen innerhalb eines bestimmten Zeitfensters abgeschlossenen Abfragen benötigt wird, zur tatsächlich verstrichenen Zeit.

Das Dashboard „Query Insights“ der obersten Ebene zeigt das Diagramm Datenbanklast nach Ausführungszeit. Mit Drop-down-Menüs im Dashboard können Sie das Diagramm für alle Datenbanken oder eine bestimmte Datenbank filtern.

Zeigt alle ausgeführten Abfragen für eine ausgewählte Datenbank an.

Die farbigen Linien in der Grafik zeigen die Datenbanklast nach Ausführungszeit. Sehen Sie sich die Grafik an und verwenden Sie die Filteroptionen, um diese Fragen zu untersuchen:

  • Ist die Abfragelast hoch? Ist eine Spitze oder ein Anstieg im Zeitverlauf zu sehen? Wenn keine hohe Last angezeigt wird, liegt das Problem nicht bei Ihrer Abfrage.
  • Wie lange war die Last hoch? Ist sie erst jetzt hoch oder war sie schon lange hoch? Verwenden Sie die Bereichsauswahl, um verschiedene Zeiträume auszuwählen, um herauszufinden, wie lange das Problem besteht. Vergrößern Sie die Ansicht, um ein Zeitfenster zu sehen, in dem Spitzen bei der Abfragelast beobachtet werden. Zoomen Sie heraus, um bis zu einer Woche der Zeitachse anzuzeigen.
  • Welche Datenbank hat die Auslastung? Wählen Sie im Drop-down-Menü „Datenbanken“ verschiedene Datenbanken aus, um die Datenbanken mit den höchsten Lasten zu finden.

Datenbanklast filtern

Sie können die Datenbanklast nach Abfragen filtern. Sie können das Diagramm zur Datenbanklast anpassen, um die angezeigten Daten nach einer der folgenden Dimensionen aufzuschlüsseln:
  • Alle Abfragen

  • Datenbanken

Wenn Sie das Diagramm zur Datenbanklast anpassen möchten, wählen Sie im Drop-down-Menü Datenbanklast nach Ausführungszeit eine Dimension aus.

Top-Beitragende zur Datenbanklast ansehen

In der Tabelle Top-Dimensionen nach Datenbanklast können Sie die Top-Beitragenden zur Datenbanklast aufrufen. In der Tabelle Top-Dimensionen nach Datenbanklast werden die Top-Beitragenden für den Zeitraum und die Dimension angezeigt, die Sie im Drop-down-Menü des Diagramms Datenbanklast nach Ausführungszeit auswählen. Sie können den Zeitraum oder die Dimension ändern, um die Top-Beitragenden für eine andere Dimension oder einen anderen Zeitraum anzusehen.

In der Tabelle Top-Dimensionen nach Datenlast können Sie die folgenden Tabs auswählen.

Tabulatortaste Beschreibung
Abfragen In der Tabelle werden die wichtigsten normalisierten Abfragen nach Gesamtausführungszeit angezeigt. Für jede Abfrage werden die in den Spalten angezeigten Daten so aufgeführt:
  • Durchschnittliche Ausführungszeit (ms): Die durchschnittliche Zeit für die Ausführung der Abfrage.
    • Die Liste der Einträge in der Spalte Durchschnittliche Ausführungszeit (ms) ist möglicherweise nicht vollständig. Wenn beispielsweise eine Abfrage, die von einem bestimmten Nutzer ausgeführt wird, die Ursache für eine hohe Datenbanklast ist und dieses Verhalten nicht repräsentativ für das durchschnittliche Verhalten des Nutzers ist, wird der Eintrag für diese Nutzerabfrage möglicherweise nicht berücksichtigt.
  • Gesamtausführungszeit (ms): Die Gesamtausführungszeit der jeweiligen Abfrage.
  • Durchschnittliche zurückgegebene Zeilen: Die durchschnittliche Anzahl der Zeilen, die für die Abfrage abgerufen wurden.
  • Aufrufe: Gibt an, wie oft die Abfrage von der Anwendung aufgerufen wurde.
Datenbanken In der Tabelle finden Sie eine Liste der Top-Datenbanken, die im ausgewählten Zeitraum über alle ausgeführten Abfragen hinweg zur Last beigetragen haben.
  • Durchschn. Zeit in Datenbank (ms): Die durchschnittliche Zeit, die die Abfragen in der jeweiligen Datenbank verbracht haben.
  • Gesamtzeit in der Datenbank (ms): Die Gesamtausführungszeit der Abfragen in der jeweiligen Datenbank.

Nach Abfragen filtern

Die Tabelle Top-Dimensionen nach Datenbanklast bietet einen Überblick über die Abfragen, die die meisten Abfragelasten verursachen. Die Tabelle enthält alle normalisierten Abfragen für den Zeitraum und die Optionen, die im Query Insights-Dashboard ausgewählt wurden. Es sortiert Abfragen nach der gesamten Ausführungszeit während des ausgewählten Zeitraums.

Wählen Sie zum Sortieren der Tabelle eine Spaltenüberschrift aus.

Die Tabelle enthält die folgenden Attribute:

  • Abfrage: Der normalisierte Abfragestring. Standardmäßig zeigt Query Insights nur 1.024 Zeichen im Abfragestring an.
  • Datenbank: Die Datenbank, für die die Abfrage ausgeführt wurde.
  • Empfehlungen: Die vorgeschlagenen Empfehlungen, z. B. Indexe erstellen, um die Abfrageleistung zu verbessern.
  • Durchschnittliche Ausführungszeit (ms): Die durchschnittliche Zeit für die Ausführung der Abfrage.
  • Gesamtausführungszeit (ms): Die Gesamtzeit für die Ausführung der Abfrage.
  • Aufrufe: Gibt an, wie oft die Anwendung die Abfrage aufgerufen hat.
  • Durchschnittliche zurückgegebene Zeilen: Die durchschnittliche Anzahl der Zeilen, die für die Abfrage zurückgegeben wurden.

In Query Insights werden nur normalisierte Abfragen gespeichert und angezeigt.

Vorgänge in einem Beispielabfrageplan prüfen

Ein Abfrageplan nimmt eine Stichprobe Ihrer Abfrage und unterteilt sie in einzelne Vorgänge. Die einzelnen Vorgänge in der Abfrage werden erläutert.

Das Diagramm Abfrageplanbeispiele zeigt alle Abfragepläne, die zu bestimmten Zeiten ausgeführt werden, sowie die Zeit, die jeder Plan benötigt hat. Sie können die Rate ändern, mit der die Stichproben von Abfrageplänen pro Minute erfasst werden. Siehe Query Insights aktivieren.

Zeigt einen Abfrageplan und eine Visualisierung des End-to-End-Tracings an.

Standardmäßig zeigt das Feld rechts die Details für den Beispiel-Abfrageplan an, der die längste Zeit in Anspruch nimmt, wie im Diagramm Abfrageplan-Beispiele angezeigt. Klicken Sie auf den entsprechenden Kreis im Diagramm, um die Details für einen anderen Beispielabfrageplan anzuzeigen. Erweiterte Details zeigen ein Modell aller Vorgänge im Abfrageplan.

Jeder Vorgang zeigt die zurückgegebenen Zeilen und, falls verfügbar, die Kosten für diesen Vorgang an. Verwenden Sie die Vollbildansicht oder den Tab End-to-End, um die geschätzten Ausführungsstatistiken für jeden Knoten (Vorgang) sowie die Laufzeitausführungsstatistiken für den Stammknoten aufzurufen.

Zeigt einen Abfrageplan mithilfe einer Visualisierungsstruktur an.

Versuchen Sie, das Problem anhand der folgenden Fragen einzugrenzen:

  1. Wie hoch ist der Ressourcenverbrauch?
  2. Wie hängt er mit anderen Abfragen zusammen?
  3. Ändert sich der Verbrauch im Laufe der Zeit?

Funktion „Abfragedetails“

Abfragedetails können weitere Informationen zu einer bestimmten Abfrage enthalten, z. B. die durchschnittliche Ausführungszeit, die Anzahl der Aufrufe und die durchschnittliche Anzahl der zurückgegebenen Zeilen. Außerdem können Empfehlungen wie Indizes angeboten werden, um die Abfrageleistung zu verbessern.

In den Abfragedetails sind auch die folgenden Messwerte enthalten:

  • Abfrageplan-Stichproben: Diese Stichproben helfen Ihnen, Ihre Abfrage zu erläutern und zu analysieren. Dazu wird eine Aufschlüsselung der verschiedenen Vorgänge in einer Stichprobe der Abfrage bereitgestellt.

    Zeigt einen Abfrageplan und eine Visualisierung des End-to-End-Tracings an.

  • Anzahl der Abfrageausführungen im Zeitverlauf: Gibt an, wie oft die Abfrage in einem bestimmten Zeitraum abgeschlossen wurde. Anhand des Diagramms können Sie besser nachvollziehen, wann eine Abfrage normalerweise ausgeführt wird, und die Auswirkungen der Abfrage auf die Instanzleistung abschätzen.

    Zeigt, wie häufig die Abfrage in einem bestimmten Zeitraum ausgeführt wurde.

  • Durchschnittliche zurückgegebene Zeilen im Zeitverlauf: Zeigt die durchschnittliche Anzahl der von der Abfrage im Laufe der Zeit zurückgegebenen Zeilen an. Anhand dieser Daten können Sie langsamer als übliche Abfragen mit einer erhöhten Menge an Daten korrelieren, die von diesen Abfragen zurückgegeben werden.

    Zeigt die durchschnittliche Anzahl der von der Abfrage im Laufe der Zeit zurückgegebenen Zeilen.

  • E/A-Statistiken: Zeigt die Eingabe- und Ausgabestatistiken für die Abfrage an, einschließlich der folgenden Filter:
    • Durchschnittliche logische Lesevorgänge
    • Durchschnittliche physische Lesevorgänge
    • Durchschnittliche logische Schreibvorgänge

    Mithilfe von E/A-Messwerten können Sie langsamer als übliche Abfragen mit einer intensiveren E/A-Nutzung oder Änderungen bei E/A-Mustern korrelieren.

    Wenn beispielsweise die Anzahl der logischen Lesevorgänge gestiegen ist, könnte das ein Hinweis darauf sein, dass die Abfrage mehr Daten als üblich liest. Wenn die Anzahl der physischen Lesevorgänge gestiegen ist, könnte das darauf hindeuten, dass Cloud SQL mehr Daten vom Laufwerk als aus dem Zwischenspeicher liest. Beispielsweise war möglicherweise nicht genügend Arbeitsspeicher vorhanden, um alle Daten im Cache zu speichern, oder die Instanz hat begonnen, zu viele Daten zu lesen. Wenn die Anzahl der logischen Schreibvorgänge gestiegen ist, könnte das darauf hindeuten, dass die Abfrage mehr Daten auf das Datenlaufwerk schreibt.

    Dies ist ein Beispiel dafür, wie dieser Messwert helfen kann, die Auswirkungen der Abfrage auf die Instanz-E/A zu messen.

    Zeigt eine Darstellung der Eingabe- und Ausgabestatistiken für die Abfrage.

  • Arbeitsspeicherstatistiken: Zeigt die Statistiken zur Arbeitsspeichernutzung für die Abfrage an, einschließlich der folgenden Filter:
    • Durchschnittlicher idealer Arbeitsspeicher
    • Durchschnittlich reservierter Arbeitsspeicher
    • Durchschnittlich verwendeter Arbeitsspeicher

    Mit diesem Messwert können Sie Änderungen am Arbeitsspeicherverbrauch im Zusammenhang mit der Abfrage erkennen, einschließlich der folgenden Beispiele:

    • Mit diesem Messwert können Sie erkennen, ob Cloud SQL die für die Ausführung der Abfrage erforderliche Arbeitsspeichermenge falsch vorhergesagt und möglicherweise mehr Arbeitsspeicher reserviert hat, als von der Abfrage verwendet wird.
    • Mit diesem Messwert können Sie erkennen, wenn Cloud SQL nicht genügend Arbeitsspeicher zuweisen konnte und eine kleinere Arbeitsspeicherzuweisung reserviert hat. In diesem Fall verwendet Cloud SQL die tempdb-Datenbank, was langsamer ist als die Verwendung des Arbeitsspeichers.
    • Verwenden Sie den Messwert zusammen mit der Anzahl der Abfrageausführungen, um die Auswirkungen der Abfrage auf den Arbeitsspeicherverbrauch der Instanz zu messen.
    • Verwenden Sie den Messwert, wenn Sie eine hohe Speichernutzung oder einen hohen Speicherdruck feststellen.

    Zeigt die Statistiken zur Arbeitsspeichernutzung für die Abfrage an.

  • Statistiken zu CPU- und Ausführungszeit: Zeigt eine kombinierte Ansicht der Statistiken zu CPU-Zeit und Ausführungszeit für die Abfrage. Mit dem Messwert „CPU-Zeit“ können Sie eine hohe CPU-Auslastung auf der Instanz untersuchen, z. B.:
    • Sie können eine Kombination aus CPU-Zeit und Ausführungsanzahl verwenden, um die Auswirkungen der Abfrage auf den gesamten CPU-Verbrauch in der Instanz zu messen.
    • Sie können eine Kombination aus CPU-Zeit, Ausführungszeit und Parallelitätsmesswerten verwenden, um den Prozentsatz der Zeit zu messen, in der die Abfrage auf Ressourcen gewartet hat.
    • Mit dem Messwert für die Ausführungszeit können Sie feststellen, ob die Ausführung einer Abfrage länger als gewöhnlich gedauert hat.

    Zeigt eine kombinierte Ansicht der Statistiken zu CPU-Zeit und Ausführungszeit für die Abfrage.

  • Zusätzliche Abfragestatistiken: Zeigt zusätzliche Statistiken im Zusammenhang mit der Abfrage an, einschließlich der folgenden Filter:
    • CLR-Statistiken (Common Language Runtime)
    • Columnstore-Statistiken
    • Speicherüberläufe
    • Parallelitätsstatistiken

    Zeigt zusätzliche Statistiken im Zusammenhang mit der Abfrage an, einschließlich CLR- (Common Language Runtime) und Columnstore-Statistiken sowie Statistiken zu Speicherüberläufen und zur Parallelität.

Blockierte aktive Abfragen

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

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

Weitere Informationen finden Sie unter Blockierte aktive Abfragen.

Query Insights deaktivieren

Console

So deaktivieren Sie Query Insights für eine Cloud SQL-Instanz mithilfe der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.

    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. Erweitern Sie im Abschnitt Konfigurationsoptionen die Option Query Insights.
  5. Entfernen Sie das Häkchen aus dem Kästchen Query Insights aktivieren.
  6. Klicken Sie auf Speichern.

gcloud

Um Query Insights für eine Cloud SQL-Instanz mithilfe von gcloud zu deaktivieren, führen Sie gcloud sql instances patch mit dem Flag --no-insights-config-query-insights-enabled so aus, nachdem Sie INSTANCE_ID durch die ID der Instanz ersetzt haben.

gcloud sql instances patch INSTANCE_ID \
  --no-insights-config-query-insights-enabled

REST

Rufen Sie die Methode instances.patch auf, wobei queryInsightsEnabled so auf false gesetzt ist, um Query Insights für eine Cloud SQL-Instanz mithilfe der REST API zu deaktivieren.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: Die Instanz-ID.

HTTP-Methode und URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON-Text anfordern:

{
  "settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2021-01-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Query Insights für die Cloud SQL Enterprise Plus-Version deaktivieren

So deaktivieren Sie Query Insights für die Cloud SQL Enterprise Plus-Version:

  1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.

    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 im Bereich Instanz anpassen den Eintrag Query Insights.
  5. Entfernen Sie das Häkchen aus dem Kästchen Enterprise Plus-Funktionen aktivieren.
  6. Klicken Sie auf Speichern.

Nächste Schritte