CPU-Auslastungsmesswerte

Auf dieser Seite werden die CPU-Auslastungsmesswerte beschrieben, die Spanner bietet. Sie können sich diese Messwerte in der Google Cloud -Console und in der Cloud Monitoring Console anzeigen lassen.

CPU-Auslastung und Aufgabenpriorität

Spanner misst die CPU-Auslastung basierend auf der Quelle und der Priorität der Aufgabe.

  • Quelle: Eine Aufgabe kann entweder vom Nutzer oder vom System initiiert werden.

  • Priorität: Anhand der Priorität kann Spanner ermitteln, welche Aufgaben zuerst ausgeführt werden sollen. Die Priorität von Systemaufgaben ist vordefiniert und kann nicht konfiguriert werden. Nutzeraufgaben werden mit hoher Priorität ausgeführt, sofern nicht anders angegeben. Bei vielen Datenanfragen wie read und executeSql können Sie eine niedrigere Priorität für die Anfrage angeben. Das kann beispielsweise nützlich sein, wenn Sie Batch-, Wartungs- oder Analyseabfragen ausführen, für die keine strengen Leistungs-SLOs gelten.

    Aufgaben mit höherer Priorität werden in der Regel vor Aufgaben mit niedrigerer Priorität ausgeführt. Spanner ermöglicht es Aufgaben mit hoher Priorität, bis zu 100% der verfügbaren CPU-Ressourcen zu nutzen, auch wenn andere Aufgaben mit niedrigerer Priorität ausgeführt werden. Systemaufgaben mit niedrigerer Priorität können zwar kurzfristig verzögert werden, müssen aber irgendwann ausgeführt werden. Daher müssen Sie Ihrer Instanz genügend Rechenkapazität bereitstellen, um alle Aufgaben ausführen zu können.

    Wenn keine Aufgaben mit hoher Priorität vorhanden sind, nutzt Spanner bis zu 100 % der verfügbaren CPU-Ressourcen, um Aufgaben mit niedrigerer Priorität schneller auszuführen. Lastspitzen im Hintergrund sind kein Anzeichen für ein Problem. Aufgaben mit niedrigerer Priorität können praktisch sofort beendet werden, wenn Aufgaben mit höherer Priorität, einschließlich Nutzeraufgaben, vorliegen.

Die folgende Tabelle enthält Beispiele für die einzelnen Aufgaben:

Nutzeraufgaben Systemaufgaben
Hohe Priorität Umfasst Datenanfragen wie read oder executeSql, bei denen entweder keine Priorität oder PRIORITY_HIGH angegeben ist. Umfasst das Aufteilen von Daten.
Mittlere Priorität Umfasst:
  • Datenanfragen, für die PRIORITY_MEDIUM angegeben ist
  • Lese- und Schreibvorgänge, die von Dataflow-Jobs ausgegeben werden, einschließlich Import und Export.
Umfasst:
Niedrige Priorität Umfasst Datenanfragen, bei denen PRIORITY_LOW angegeben ist. Umfasst:
  • Backfilling eines Index
  • Backfill für eine generierte Spalte

Verfügbare Messwerte

Spanner stellt die folgenden Messwerte für die CPU-Auslastung bereit:

  • Ausgeglichene CPU-Auslastung: Ein gleitender Durchschnitt der gesamten CPU-Auslastung als Prozentsatz der CPU-Ressourcen der Instanz für jede Datenbank. Jeder Datenpunkt ist ein Durchschnittswert für die letzten 24 Stunden. Verwenden Sie diesen Messwert, um Benachrichtigungen zu erstellen und die CPU-Auslastung über einen längeren Zeitraum zu analysieren, z. B. 24 Stunden. Sie können ein Diagramm für diesen Messwert in der Google Cloud -Konsole oder in der Cloud Monitoring Console als Gleitender Durchschnitt über 24 Stunden aufrufen.

  • CPU-Auslastung nach Priorität: Die CPU-Auslastung als Prozentsatz der CPU-Ressourcen der Instanz, gruppiert nach Priorität, vom Nutzer initiierten Aufgaben und vom System initiierten Aufgaben. Verwenden Sie diesen Messwert, um Benachrichtigungen zu erstellen und die CPU-Auslastung auf übergeordneter Ebene zu analysieren. Sie können ein Diagramm für diesen Messwert in derGoogle Cloud -Konsole oder in der Cloud Monitoring Console aufrufen.

  • CPU-Auslastung nach Vorgangstyp: Die CPU-Auslastung als Prozentsatz der CPU-Ressourcen der Instanz, gruppiert nach vom Nutzer initiierten Vorgängen wie Lese-, Schreib- und Commit-Vorgängen. Mit diesem Messwert erhalten Sie eine detaillierte Aufschlüsselung der CPU-Auslastung und können weitere Schritte zur Fehlerbehebung ausführen, wie unter Hohe CPU-Auslastung untersuchen beschrieben. Sie können ein Diagramm für diesen Messwert in der Cloud Monitoring Console erstellen.

    Sie können die Cloud Monitoring Console auch verwenden, um Benachrichtigungen für die CPU-Auslastung zu erstellen, wie unten beschrieben.

In der folgenden Tabelle finden Sie unsere Empfehlungen zur maximalen CPU-Auslastung für regionale, zweiregionale und multiregionale Instanzen. Diese Zahlen sorgen dafür, dass Ihre Instanz über genügend Rechenleistung verfügt, damit der Traffic auch dann weitergeleitet werden kann, wenn eine gesamte Zone (bei regionalen Instanzen) oder eine gesamte Region (bei dualen und multiregionalen Instanzen) ausfällt.

Messwert Maximum für regionale Instanzen Maximum pro Region für Dual- und Multiregion-Instanzen
Hohe Priorität insgesamt 65 % 45 %
Über 24 Stunden geglättetes Aggregat 90 % 90 %

Damit Sie unter den empfohlenen Maximalwerten bleiben, erstellen Sie Benachrichtigungen in Cloud Monitoring, die die CPU-Auslastung mit hoher Priorität und die durchschnittliche CPU-Auslastung über 24 Stunden erfassen.

Die CPU-Auslastung kann sich auf die Anfragelatenzen auswirken. Eine Überlastung eines einzelnen Back-End-Servers führt zu höheren Anfragelatenzen. Die Anwendungen sollten Benchmarks und aktives Monitoring ausführen, um zu prüfen, ob Spanner ihre Leistungsanforderungen erfüllt.

Bei leistungsabhängigen Anwendungen müssen Sie die CPU-Auslastung möglicherweise mithilfe der im folgenden Abschnitt beschriebenen Techniken zusätzlich reduzieren.

CPU-Auslastung über 100%

In bestimmten Fällen kann die CPU-Auslastung einer Spanner-Instanz über 100 % liegen. Das bedeutet, dass die Instanz mehr CPU-Ressourcen als die für die Instanz konfigurierte Menge verbraucht.

CPU-Ressourcen über 100% können verwendet werden, um bei Spitzen der CPU-Auslastung eine bessere und vorhersehbarere Leistung zu erzielen, die beispielsweise durch einen plötzlichen Anstieg des Anfragetraffics verursacht wird.

Eine CPU-Kapazität von über 100% ist NICHT garantiert und sollte für normale Datenbankvorgänge nicht verwendet werden.

Wenn eine Spanner-Instanz über einen längeren Zeitraum hinweg mit einer CPU-Auslastung von fast 100% oder mehr betrieben wird, kann dies zu einer Beeinträchtigung der normalen Betriebsleistung und Latenz führen. Zusätzliche CPU-Ressourcen sind kein zuverlässiger Mechanismus für eine gleichbleibende Leistung.

Kunden wird diese zusätzliche CPU-Auslastung nicht in Rechnung gestellt.

CPU-Auslastung reduzieren

In diesem Abschnitt wird erläutert, wie Sie die CPU-Auslastung einer Instanz reduzieren können.

Im Allgemeinen empfehlen wir, als Ausgangspunkt die Rechenleistung Ihrer Instanz zu erhöhen. Nachdem Sie die Rechenkapazität erhöht haben, können Sie die Ursachen der hohen CPU-Auslastung untersuchen und beheben.

Rechenkapazität erhöhen

Wenn Sie die empfohlenen Maximalwerte für die CPU-Auslastung überschreiten, empfehlen wir dringend, die Rechenkapazität Ihrer Instanz zu erhöhen, damit sie weiterhin effizient arbeiten kann. Wenn Sie diesen Prozess automatisieren möchten, können Sie eine Anwendung erstellen, die die CPU-Auslastung überwacht und anschließend die Rechenkapazität mit der Methode UpdateInstance nach Bedarf erhöht oder verringert.

Um die benötigte Rechenkapazität zu ermitteln, müssen Sie sowohl die höchste CPU-Auslastung mit hoher Priorität als auch den rund um die Uhr geglätteten Durchschnitt berücksichtigen. Weisen Sie immer genügend Rechenkapazität zu, um die CPU-Auslastung unter den empfohlenen Maximalwerten zu halten. Wie bereits beschrieben, müssen Sie möglicherweise zusätzliche Rechenkapazität für leistungsintensive Anwendungen zuweisen, um beispielsweise Arbeitslasten auszugleichen.

Wenn Sie nicht genügend Rechenkapazität haben, verschiebt Spanner Aufgaben nach Prioritätsstufe. Systemaufgaben mit niedriger Priorität wie die Datenbankverdichtung und Validierung von Schemaänderungen können zugunsten von Nutzeraufgaben zurückgestellt werden. Diese Aufgaben sind jedoch für die Integrität Ihrer Instanz von entscheidender Bedeutung und können von Spanner nicht unbegrenzt aufgeschoben werden. Wenn Spanner seine Systemaufgaben mit niedriger Priorität nicht innerhalb eines bestimmten Zeitfensters – in der Größenordnung von mehreren Stunden pro Tag – aufgrund unzureichender Rechenressourcen ausführen kann, erhöht Spanner möglicherweise die Priorität der Systemaufgaben. Diese Änderung wirkt sich auf die Leistung von Nutzeraufgaben aus.

Genauere Untersuchungen mit Tools zur Selbstprüfung

Wenn der Messwert CPU-Auslastung nach Vorgangstyp angibt, dass ein bestimmter Vorgangstyp zu einer hohen CPU-Auslastung beiträgt, verwenden Sie die Spanner-Introspection-Tools, um die weitere Fehlerbehebung durchzuführen. Weitere Informationen finden Sie unter Hohe CPU-Auslastung untersuchen.

Nächste Schritte