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. Die folgende Liste der integrierten Statistiktabelle (oder Introspection-Tools) ist in Spanner verfügbar:
- Aktive Statistiken zur partitionierten DML
- Statistik zu Spaltenvorgängen
- Statistiken sperren
- Statistiken zu ältesten aktiven Abfragen
- Abfragestatistiken
- Statistiken lesen
- Statistiken aufteilen
- Statistiken zu Tabellenvorgängen
- Statistiken zur Tabellengröße
- Transaktionsstatistiken
- Statistiken für Vektorindexe
Über diese Tabellen wird auf SPANNER_SYS-Daten zugegriffen, die nur über die folgenden Spanner-SQL-Schnittstellen verfügbar sind:
- Die Spanner Studio-Seite einer Datenbank in der Google Cloud Console.
- Befehl
gcloud spanner databases execute-sql - Die Methode
executeSqloderexecuteStreamingSql.
Sie können keine anderen einzelnen Lesemethoden verwenden, um die SPANNER_SYS-Tabellen abzufragen.
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 jedem Tool 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-/Schreibtransaktionen (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 Mit der PartitionQuery API ausgeführte Abfragen sind nicht in den Statistiken zu den ältesten aktiven Abfragen enthalten.
3 Ein Batch von DML-Anweisungen wird in den Abfragestatistiken als einzelner Eintrag angezeigt.
4 Anweisungen im Batch werden in den ältesten aktiven Abfragen angezeigt, nicht der gesamte Batch.
5 Nicht mit Commit ausgeführte DML-Vorgänge sind nicht in den Transaktionsstatistiken enthalten.
6 Leere Mutationen, die effektiv managementfrei sind, werden nicht in Transaktionsstatistiken aufgenommen.
Statistiken zur aktiven partitionierten DML
Statistiken zur aktiven partitionierten DML (Data Manipulation Language) liefern Echtzeitinformationen zum Fortschritt der partitionierten DML-Anweisungen, die in Ihrer Datenbank aktiv sind.
Statistiken zu Spaltenvorgängen
Mit Statistiken zu Spaltenvorgängen können Sie Folgendes tun:
- Statistiken für Spalten in Ihrer Tabelle ansehen.
- Trends bei der Verwendung Ihrer Tabellenspalten ermitteln
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.
Sie können diese Messwerte in einer Zeitreihe mit dem Dashboard Lock Insights visualisieren. Mithilfe des vordefinierten Dashboards können Sie die Sperrwartezeit einsehen und prüfen, ob Latenzen auf Sperrkonflikte mit hoher Sperrwartezeit zurückzuführen sind.
Statistiken zu ältesten aktiven 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.
Change Stream-Abfragen sind nicht in den ältesten aktiven Abfragen enthalten.
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 aggregierte Statistiken für Abfragen (einschließlich DML-Anweisungen und Change Stream-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.
Sie können diese Messwerte in einer Zeitreihe mit Query Insights-Dashboards visualisieren. Mit diesen vordefinierten Dashboards können Sie Spitzen bei der CPU-Auslastung sehen und ineffiziente Abfragen identifizieren.
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. Für jedes Zeitintervall verfolgt Spanner 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.
Statistiken zu Splits
Sie können Hotspots in Ihrer Datenbank debuggen, 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 wird. Sie können Statistiken für Splits mit den höchsten CPU-Nutzungswerten für Splits in den letzten 6 Stunden in 1-Minuten-Intervallen aufrufen.
Statistiken zu Tabellenvorgängen
Mit 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
- Traffic-Änderungen erkennen
Außerdem können Sie die Änderungen im Tabellenspeicher mit den Änderungen im Schreibtraffic in Beziehung setzen.
Statistiken zur Tabellengröße
Mit Statistiken zur Tabellengröße können Sie die bisherigen Größen der Tabellen und Indexe in Ihrer Datenbank im Blick behalten.
Mit Statistiken zur Tabellengröße können Sie Trends bei den Größen Ihrer Tabellen, Indexe und Änderungsstreamtabellen ermitteln. Sie können auch Ihre größten Tabellen und Indexe im Blick behalten.
Diese Funktion bietet nur eine historische Perspektive. Sie ist nicht für die Echtzeitüberwachung vorgesehen.
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.
Sie können diese Messwerte in einer Zeitreihe im Dashboard Transaktionsstatistiken visualisieren. Mithilfe des vordefinierten Dashboards können Sie die Latenzen bei Transaktionen ansehen und problematische Transaktionen identifizieren.
Statistiken für Vektorindex
Mithilfe von Statistiken zum Vektorindex können Sie die Leistung Ihres Vektorindex analysieren, Bereiche für Verbesserungen identifizieren und Ihren Index anhand der bereitgestellten Messwerte optimieren.