Integrierte Statistiktabellen für Spanner helfen Ihnen, Probleme in Ihrer Datenbank zu untersuchen. Sie können diese Tabellen abfragen, um Informationen zu Abfragen, Transaktionen und Lesevorgängen zu erhalten. In der folgenden Liste sind die einzelnen Statistiktabellen und die darin enthaltenen Informationen zusammengefasst:
Abfragestatistiken
Wenn Sie Probleme in Ihrer Datenbank untersuchen, ist es hilfreich zu wissen, welche Abfragen teuer sind, häufig ausgeführt werden oder große Datenmengen scannen.
Abfragestatistiken sind zusammengefasste Statistiken für Abfragen (einschließlich DML-Anweisungen und Änderungsstream-Abfragen), die in 1-, 10- und 60-Minuten-Intervallen erfasst werden. Statistiken werden für Anweisungen erfasst, die erfolgreich abgeschlossen wurden, sowie für Anweisungen, die fehlgeschlagen sind, bei denen eine Zeitüberschreitung aufgetreten ist oder die vom Nutzer abgebrochen wurden.
Die Statistiken umfassen die höchste CPU-Auslastung, die Gesamtzahl der durchgeführten Abfragen, die durchschnittliche Latenz, die meisten gescannten Daten sowie zusätzliche grundlegende Abfragestatistiken. Anhand dieser Statistiken können Sie teure, häufig ausgeführte oder datenintensive Abfragen ermitteln.
Mithilfe von Query Insights-Dashboards können Sie diese Messwerte in einer Zeitachse visualisieren. Anhand dieser vordefinierten Dashboards können Sie CPU-Auslastungsspitzen sehen und ineffiziente Abfragen erkennen.
Älteste aktive Abfragen
Manchmal möchten Sie die aktuelle Arbeitslast auf dem System durch Untersuchung laufender Abfragen prüfen. Verwenden Sie das Tool älteste aktive Abfragen, um lang andauernde Abfragen zu untersuchen, die sich auf die Datenbankleistung auswirken können. Dieses Tool gibt Aufschluss darüber, was Abfragen sind, wann sie gestartet wurden und zu welcher Sitzung sie gehören.
Änderungsstreamabfragen sind nicht in den ältesten aktiven Abfragen enthalten.
Statistiken lesen
Mit Lesestatistiken können Sie mithilfe der Reads API von Spanner die gängigsten und ressourcenintensivsten Lesevorgänge für Ihre Datenbank untersuchen. Diese Statistiken werden in drei verschiedenen Zeitintervallen erfasst, z. B. Minute, 10 Minuten und 1 Stunde. Spanner verfolgt für jedes Zeitintervall die Lesevorgänge, die die meisten Ressourcen verwenden.
Verwenden Sie Lesestatistiken, um die kombinierte Ressourcennutzung durch alle Lesevorgänge zu ermitteln, die Lesevorgänge mit der höchsten CPU-Auslastung zu ermitteln und herauszufinden, wie sich die Häufigkeit eines bestimmten Lesevorgangs im Laufe der Zeit ändert.
Transaktionsstatistiken
Mit Transaktionsstatistiken können transaktionsbezogene Probleme untersucht werden. Sie können beispielsweise prüfen, ob lang andauernde Transaktionen vorhanden sind, die zu Konflikten führen, oder Änderungen in Transaktionsformen identifizieren, die zu Leistungsregressionen führen. Jede Zeile enthält Statistiken aller Transaktionen, die in den Intervallen von 1, 10 und 60 Minuten ausgeführt wurden.
Mit dem Dashboard Transaktionsstatistiken können Sie diese Messwerte in einer Zeitreihe visualisieren. Im vordefinierten Dashboard können Sie die Latenzen bei Transaktionen sehen und problematische Transaktionen identifizieren.
Statistiken sperren
Sperrstatistiken können zum Untersuchen von Sperrkonflikten in Ihrer Datenbank verwendet werden. Wenn diese mit Transaktionsstatistiken verwendet werden, können Sie Transaktionen ermitteln, die Sperrkonflikte verursachen. Versuchen Sie dazu, Sperren für dieselben Zellen zur selben Zeit abzurufen.
Mit dem Dashboard Sperrbefehle können Sie diese Messwerte in einer Zeitreihe visualisieren. Im vordefinierten Dashboard können Sie die Wartezeit für die Sperre prüfen und feststellen, ob Latenzen auf Sperrkonflikte mit hoher Sperrwartezeit zurückzuführen sind.
In jedem Tool enthaltene API-Methoden
In Spanner gibt es einige Überschneidungen zwischen Transaktionen, Lesevorgängen und Abfragen. Daher ist es möglicherweise nicht klar, welche API-Methoden beim Kompilieren der Ergebnisse für jedes Einführungstool berücksichtigt werden. In der folgenden Tabelle sind die wichtigsten API-Methoden und ihre Beziehung zu den einzelnen Tools aufgeführt.
API-Methoden | Transaktionsmodi | Abfragestatistiken | Älteste aktive Abfragen | Statistiken lesen | Transaktionsstatistiken | Statistiken sperren |
---|---|---|---|---|---|---|
Read, StreamingRead | Schreibgeschützte Transaktion1 | Nein | Nein | Ja | Nein | Nein |
Lese-/Schreibtransaktion | Nein | Nein | Ja | Ja | Ja | |
ExecuteSql, ExecuteStreamingSql | Schreibgeschützte Transaktion1 | Ja2 | Ja2 | Nein | Nein | Nein |
Lese-/Schreibtransaktion | Ja | Ja | Nein | Ja | Ja | |
ExecuteBatchDml | Lese-/Schreibtransaktionen | Ja3 | Ja4 | Nein | Ja | Ja |
Commit | Lese-Schreib-Transaktionen (DML5, Mutationen6) | Nein | Nein | Nein | Ja | Ja |
Hinweise:
1 Schreibgeschützte Transaktionen werden nicht in die Transaktionsstatistiken und Sperrstatistiken aufgenommen. Nur Lese-/Schreibtransaktionen sind in den Transaktionsstatistiken und Sperrstatistiken enthalten.
2 Abfragen, die mit der PartitionQuery API ausgeführt werden, sind nicht in den Abfragestatistiken oder den ältesten aktiven Abfragen enthalten.
3: Ein DML-Batch wird in den Abfragestatistiken als einzelner Eintrag angezeigt.
4 Anweisungen innerhalb des Batches werden in den ältesten aktiven Abfragen aufgeführt, nicht der gesamte Batch.
5 Nicht mit Commit ausgeführte DML-Vorgänge sind nicht in den Transaktionsstatistiken enthalten.
6 Leere Mutationen, die effektiv keine Aktion ausführen, werden nicht in Transaktionsstatistiken aufgenommen.
Statistiken zu Tabellengrößen
Mit den Statistiken zur Tabellengröße können Sie die bisherige Größe der Tabellen und Indexe in Ihrer Datenbank im Blick behalten.
Anhand von Statistiken zur Tabellengröße können Sie Trends bei der Größe Ihrer Tabellen, Indexe und Änderungsstreamtabellen ermitteln. Außerdem können Sie Ihre größten Tabellen und Indexe im Blick behalten.
Diese Funktion bietet nur einen historischen Überblick. Sie ist nicht für die Echtzeitüberwachung geeignet.
Statistiken zu Tabellenvorgängen
Mit den Statistiken zu Tabellenvorgängen können Sie Folgendes tun:
- Überwachen Sie die Nutzung Ihrer Tabellen und Indexe in Ihrer Datenbank.
- Trends bei der Nutzung Ihrer Tabellen und Indexe ermitteln
- Identifizieren Sie Änderungen beim Traffic.
Außerdem können Sie die Änderungen im Tabellenspeicher mit den Änderungen beim Schreibtraffic in Beziehung setzen.
Hotspots in Splits beheben
Sie können Hotspots in Ihrer Datenbank beheben, um Splits in der Datenbank zu finden, die warm oder heiß sind. Das bedeutet, dass ein hoher Prozentsatz der Last auf einem Split durch die verfügbaren Ressourcen eingeschränkt ist. Sie können Statistiken für Aufteilungen mit der höchsten CPU-Auslastung in den letzten 6 Stunden in Intervallen von einer Minute aufrufen.