In diesem Dokument wird beschrieben, wie Sie mit dem Hotspot-Statistik-Dashboard Hotspots in Ihrer Spanner-Datenbank erkennen.
Hotspot-Statistiken – Übersicht
Hotspots verursachen Latenz in Ihrer Spanner-Datenbank. Mit dem Dashboard „Statistiken zum Heißlaufen“ können Sie die Splits erkennen, die von Hotspots betroffen sind. So können Sie feststellen, ob Hotspots Latenz verursachen, und das Problem beheben:
- Dashboard öffnen
- Ermitteln, ob Hotspots Ihre Intervention erfordern.
- Problematische Hot Splits identifizieren:
Hotspot-Statistiken sind in Konfigurationen mit einer, mehreren und zwei Regionen verfügbar.
Preise
Für Hotspot-Statistiken fallen keine zusätzlichen Kosten an.
Datenaufbewahrung
Die Datenaufbewahrungsrichtlinien für die Hotspot-Statistikdiagramme und die Tabelle mit den TopN-Aufschlüsselungen basieren auf den zugrunde liegenden SPANNER_SYS.SPLIT_STATS_TOP_*-Tabellen. Informationen zu bestimmten Aufbewahrungsrichtlinien finden Sie unter Aufbewahrung von Statistiken für Hot-Splits.
Erforderliche Rollen
Je nachdem, ob Sie ein IAM-Nutzer oder ein Nutzer mit detaillierter Zugriffssteuerung sind, benötigen Sie möglicherweise unterschiedliche IAM-Rollen und -Berechtigungen.
Identity and Access Management (IAM)-Nutzer
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Instanz zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Aufrufen der Seite Hotspot-Statistiken benötigen:
-
Alle:
-
Cloud Spanner-Betrachter (
roles/spanner.viewer) -
Cloud Spanner-Datenbank-Leser (
roles/spanner.databaseReader)
-
Cloud Spanner-Betrachter (
Die folgenden Berechtigungen in der Rolle Cloud Spanner Database Reader (
roles/spanner.databaseReader) sind erforderlich, um die Seite Hotspot-Insights aufzurufen:
spanner.databases.beginReadOnlyTransactionspanner.databases.selectspanner.sessions.create
Nutzer mit detaillierter Zugriffssteuerung
Wenn Sie die detaillierte Zugriffssteuerung verwenden, müssen Sie Folgendes beachten:
- Cloud Spanner-Betrachter (
roles/spanner.viewer) - Sie haben detaillierte Berechtigungen für die Zugriffssteuerung und ihnen ist die Systemrolle
spanner_sys_readeroder eine ihrer Mitgliedsrollen zugewiesen. - Wählen Sie auf der Seite Übersicht der Datenbank die
spanner_sys_readeroder eine Mitgliederrolle als aktuelle Systemrolle aus.
Weitere Informationen finden Sie unter Detaillierte Zugriffssteuerung und Systemrollen für die detaillierte Zugriffssteuerung.
Hotspot-Statistik-Dashboard öffnen
Im Dashboard Hotspot-Statistiken wird der prozentuale CPU-Nutzungswert des Spitzen-Splits angezeigt. Dieser Messwert ist ein abstrakter Prozentsatz zwischen 0 und 100, der den Anteil der CPU-Nutzung bei Zugriffen auf Zeilen innerhalb eines Splits angibt.
So rufen Sie das Dashboard Hotspot-Statistiken für eine Datenbank auf:
Öffnen Sie in der Google Cloud Console die Seite Spanner.
Wählen Sie eine Instanz aus der Liste aus.
Klicken Sie im Navigationsmenü auf den Tab Hotspot-Statistiken.
Wählen Sie im Feld Datenbank eine Datenbank aus der Liste aus. Im Dashboard wird der CPU-Nutzungswert des Spitzen-Splits für die Datenbank angezeigt.
Das Dashboard enthält die folgenden Elemente:
- Diagramm CPU-Nutzungswert des Spitzen-Splits: Ein höherer CPU-Nutzungswert (z. B. nahe 100) weist darauf hin, dass der Split stark genutzt wird und sehr wahrscheinlich ein Heißlaufen auf dem Server verursacht, verglichen mit niedrigeren Werten.
- Datenbankfeld: Filtert die Informationen zu Hot Splits für eine bestimmte Datenbank oder alle Datenbanken.
- Zeitraumfilter: Filtert die Aufschlüsselung der CPU-Auslastung nach 1-Minuten-Intervallen bis zu insgesamt 6 Stunden.
- Tabelle „TopN-Splits“: Hier wird die Liste der wichtigsten Splits nach CPU-Nutzungswerten für Splits sortiert angezeigt.

Daten in der Tabelle „TopN-Splits“:In der Tabelle TopN-Splits werden Daten aus den zugrunde liegenden SPANNER_SYS.SPLIT_STATS_TOP_*-Tabellen basierend auf dem von Ihnen ausgewählten Zeitraum angezeigt. Weitere Informationen finden Sie unter Aufbewahrung von Hot-Split-Statistikdaten.
Zeilen aus 10MINUTE- oder HOUR-Tabellen interpretieren:Zeilen aus SPANNER_SYS.SPLIT_STATS_TOP_10MINUTE oder SPANNER_SYS.SPLIT_STATS_TOP_HOUR
enthalten aggregierte Daten für die jeweiligen Intervalle. Wie unter Tabellenereignisaggregation beschrieben, ist CPU_USAGE_SCORE in diesen Zeilen der maximale Wert, der in einem zugrunde liegenden 1-Minuten-Unterintervall beobachtet wurde, und UNSPLITTABLE_REASONS ist eine Vereinigung von Gründen.
Ermitteln, ob bei Hotspots Maßnahmen erforderlich sind
Wenn Sie im Diagramm einen Anstieg oder eine Erhöhung sehen, die der Gesamtlatenz entspricht, und einen dauerhaft hohen CPU-Nutzungswert des Spitzen-Splits, müssen Sie das Problem möglicherweise genauer untersuchen.
Sehen Sie sich das Diagramm an, um diese Fragen zu beantworten:
Welche Datenbank hat die Latenzverschlechterung? Wählen Sie in der Liste Datenbanken verschiedene Datenbanken aus, um die Datenbanken mit der höchsten Latenz zu finden. Um herauszufinden, welche Datenbank die höchste Last hat, können Sie auch das Latenzdiagramm für Datenbanken in der Google Cloud -Konsole ansehen.

Ist die Latenz hoch? Ist die Latenz im Vergleich zur erwarteten Latenz für die Arbeitslast hoch? Ist eine Spitze oder ein Anstieg im Zeitverlauf zu sehen? Wenn keine hohe Latenz angezeigt wird, sind Hotspots kein Problem.
Liegt der hohe CPU-Nutzungswert des Spitzen-Splits bei 100%? Ist eine Spitze oder ein Anstieg im Zeitverlauf zu sehen? Wenn die CPU-Auslastung nicht mindestens 10 Minuten lang durchgehend bei 100% liegt, sind Hotspots möglicherweise kein Problem. Wenn der prozentuale Anteil der CPU-Nutzung mit Spitzenwerten länger als 10 Minuten hoch ist, sollten Sie genauer untersuchen, ob die Datenbank eine höhere als erwartete Latenz aufweist.
Wenn Sie über einen Zeitraum von mehr als 10 Minuten eine Spitzen-CPU-Nutzung von 100% für Splits sehen, müssen Sie möglicherweise eingreifen, um Hotspots zu beheben. Als Nächstes können Sie mit dem Debugging fortfahren, indem Sie die Hot-Splits in Ihrer Datenbank ermitteln.
Problematische Hot Splits identifizieren
Um einen potenziell problematischen Split mit Hotspots zu ermitteln, sehen Sie sich in der Google Cloud Console den Abschnitt TopN-Splits an, wie unten dargestellt.

Die Tabelle Am stärksten genutzte Top-N-Splits bietet einen Überblick über die Splits, die im ausgewählten Zeitraum möglicherweise stark genutzt wurden. Sie ist nach dem neuesten bis zum ältesten Zeitraum sortiert. Die Anzahl der TopN-Aufteilungen ist auf 100 begrenzt.
Für die Diagramme ruft Spanner Daten aus der Statistik-Tabelle „TopN-Splits“ mit einer Granularität von einer Minute ab. Der Wert für jeden Datenpunkt in den Diagrammen entspricht dem Durchschnittswert über ein Intervall von einer Minute.
Die Tabelle enthält die folgenden Attribute:
- Intervallende: Datum und Uhrzeit, zu der die hohe CPU-Auslastung endet.
- Split start (Split-Start): Der Startschlüssel des Zeilenbereichs im Split. Wenn der Split-Start <begin> ist, wird damit der Beginn des Schlüsselbereichs der Datenbank angegeben.
- Split-Limit: Der Limitschlüssel des Zeilenbereichs im Split. Wenn der Limitschlüssel <end> ist, gibt er das Ende des Schlüsselbereichs der Datenbank an.
- CPU-Nutzungswert des Splits: Ein abstrakter Wert zwischen 0 und 100, der den Anteil der CPU-Nutzung durch Zugriffe auf die Zeilen innerhalb des Splits auf einem einzelnen Server angibt. Anhand des CPU-Nutzungswerts können Sie ermitteln, ob ein Heißlaufen zu verzeichnen ist.
- Betroffene Tabellen: Die Tabellen, deren Zeilen möglicherweise im Split enthalten sind.
- Gründe für die Unteilbarkeit: Ein Array mit Gründen, warum Spanner einen Hot Split nicht weiter aufteilen kann. Das Vorhandensein von Werten hier deutet darauf hin, dass die lastbasierte Aufteilung den Hotspot aus den aufgeführten Gründen nicht reduzieren kann. Weitere Informationen finden Sie unter
UNSPLITTABLE_REASONS-Typen.
Gründe für Unteilbarkeit analysieren
In der Tabelle TopN-Aufteilungen können Sie aufschlüsseln, welche spezifischen Aufteilungen zu bestimmten Zeiten von diesen Gründen betroffen sind. Das wird in der Spalte Gründe für Nicht-Aufteilbarkeit angezeigt.
Beispiel für einen Diagnoseworkflow
So sieht ein typischer Workflow für die Fehlerbehebung bei Hotspots mit dem Dashboard aus:
- Leistungsproblem beobachten:Sie bemerken eine erhöhte Latenz oder Fehler in Ihrer Anwendung.
- Hotspot-Statistiken aufrufen:Rufen Sie in der Google Cloud Console für die entsprechende Spanner-Datenbank das Dashboard „Hotspot-Statistiken“ auf. Wählen Sie den Zeitraum aus, in dem das Problem aufgetreten ist.
- Diagramm ansehen:
- Sehen Sie sich das Diagramm CPU-Nutzungswert des Spitzen-Splits an, um festzustellen, ob es über einen längeren Zeitraum hohe Werte gibt, z. B. > 50%, insbesondere Werte, die sich über mindestens 10 Minuten lang 100% nähern.
- Betroffene Splits identifizieren und Ergebnisse in Beziehung setzen:Wenn die CPU-Nutzung hoch ist, rufen Sie die Tabelle TopN-Splits auf. Filtern oder sortieren Sie, um die Splits mit dem höchsten CPU-Nutzungswert des Splits während des Zeitraums mit Auswirkungen zu finden. Sehen Sie sich die Spalte
UNSPLITTABLE_REASONSfür diese Top-Aufteilungen an:- Hoher CPU-Nutzungswert für Splits und Gründe, warum sie nicht aufgeteilt werden können: Dies ist ein starkes Signal dafür, dass das Leistungsproblem mit Hotspots zusammenhängt, die Spanner nicht automatisch beheben kann. Der Grundtyp, z. B.
HOT_ROWoderMOVING_HOT_SPOT, liefert einen wichtigen Hinweis. - Hoher CPU-Nutzungswert des Splits und keine Gründe für das Nicht-Splitten: Der Hotspot ist möglicherweise neu und Spanner ist noch dabei, ihn aufzuteilen. Alternativ kann das Problem auch auf Änderungen bei der Arbeitslast zurückzuführen sein. In diesem Fall müssen Sie nichts unternehmen.
- Hoher CPU-Nutzungswert für Splits und Gründe, warum sie nicht aufgeteilt werden können: Dies ist ein starkes Signal dafür, dass das Leistungsproblem mit Hotspots zusammenhängt, die Spanner nicht automatisch beheben kann. Der Grundtyp, z. B.
- Gründe nachvollziehen:Achten Sie auf die spezifischen Codes im
UNSPLITTABLE_REASONS-Array. - Risiko minimieren:Anhand der ermittelten Gründe finden Sie unter
UNSPLITTABLE_REASONS-Typen detaillierte Erläuterungen und empfohlene Strategien zur Risikominderung. Diese umfassen in der Regel Änderungen am Schemadesign oder Anpassungen der Arbeitslast.