CPU-Auslastungsmesswerte

Auf dieser Seite werden die von Spanner bereitgestellten CPU-Auslastungsmesswerte beschrieben. Sie können diese Messwerte in der Google Cloud Console und in der Cloud Monitoring Console

CPU-Auslastung und Aufgabenpriorität

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

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

  • Priorität: Mithilfe der Priorität können Sie Spanner ermittelt, welche Aufgaben zuerst ausgeführt werden sollen. Die Priorität der system-Aufgaben sind vorab festgelegt und können nicht konfiguriert werden. User-Aufgaben werden ausgeführt um eine hohe Priorität haben, sofern nicht anders angegeben. Viele Datenanfragen, wie zum Beispiel read und executeSql können Sie eine niedrigere Priorität für die Anfrage festlegen. Das kann nützlich sein, wenn Sie Batch-, Wartungs- oder Analyseabfragen ausführen, keine strikten Leistungs-SLOs haben.

    Aufgaben mit höherer Priorität werden im Allgemeinen vor Aufgaben Aufgaben mit niedrigerer Priorität. Mit Spanner können Aufgaben mit hoher Priorität bis zu 100% der verfügbaren CPU-Ressourcen nutzen, auch wenn Aufgaben mit niedrigerer Priorität. Während Systemaufgaben mit niedrigerer Priorität kurzfristig ausgeführt werden müssen. Daher müssen Sie Ihrer Instanz genügend Rechenkapazität bereitstellen um alle Aufgaben zu erledigen.

    Wenn es keine Aufgaben mit hoher Priorität gibt, nutzt Spanner bis zu 100% CPU-Ressourcen nutzen können, um Aufgaben mit niedrigerer Priorität schneller auszuführen. Ausschläge bei der Hintergrundnutzung sind kein Anzeichen für ein Problem. Aufgaben mit niedrigerer Priorität Aufgaben mit höherer Priorität, einschließlich Nutzeraufgaben, nahezu sofort erledigt werden können.

Die folgende Tabelle enthält Beispiele für jede Aufgabe:

Nutzeraufgaben Systemaufgaben
Hohe Priorität Dazu gehören Datenanfragen wie lesen oder executeSql ausführen, bei denen entweder keine Priorität oder PRIORITY_HIGH angegeben ist. Umfasst das Aufteilen von Daten.
Mittlere Priorität Umfasst: Umfasst:
Niedrige Priorität Umfasst Datenanfragen, bei denen PRIORITY_LOW ist angegeben ist. Umfasst:
  • Backfill für einen Index ausführen.
  • Backfill für eine generierte Spalte ausführen

Verfügbare Messwerte

Spanner bietet die folgenden Messwerte für die CPU-Auslastung:

  • 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. Hier finden Sie Diagramm für diesen Messwert in der Google Cloud Console oder im Cloud Monitoring Console als Gleitender Durchschnitt 24 Stunde.

  • 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. Ein Diagramm für diesen Messwert finden Sie in der Google Cloud Console oder im Cloud Monitoring Console

  • CPU-Auslastung nach Vorgangstyp: Die CPU-Auslastung in Prozent der CPU-Ressourcen der Instanz, gruppiert nach nutzerinitiierten Vorgängen wie Lese-, Schreib- und Commits. Verwenden Sie diesen Messwert, um eine detaillierte Aufschlüsselung der CPU zu erhalten und zur weiteren Fehlerbehebung, wie in den Hohe CPU-Auslastung untersuchen Sie können ein Diagramm für diesen Messwert erstellen in der Cloud Monitoring-Konsole.

    Sie können auch der Cloud Monitoring-Konsole, um Benachrichtigungen für CPU zu erstellen Auslastung, wie später beschrieben.

Die folgende Tabelle enthält unsere Empfehlungen für die maximale CPU-Auslastung regionale, duale und multiregionale Instanzen. Mit diesen Zahlen soll sichergestellt werden, dass Ihre Instanz über genügend Rechenkapazität verfügt. um Ihren Traffic auch dann bereitzustellen, wenn eine ganze Zone ausfällt. (für regionale Instanzen) oder eine ganze Region (für biregionale und multiregionale Instanzen) Instanzen).

Messwert Maximum für regionale Instanzen Maximum pro Region für Dual- und Multiregionen-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. Überlastung eines eines einzelnen Backend-Servers höhere Anfragelatenzen auslösen. Anwendungen sollten Sie Benchmarks und aktives Monitoring ausführen, Spanner erfüllt die Leistungsanforderungen.

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 % liegt. Dies bedeutet, dass die Instanz mehr CPU-Ressourcen nutzt als den für die Instanz konfigurierten Betrag.

CPU-Ressourcen über 100% werden möglicherweise verwendet, um bessere und vorhersehbarere Ressourcen bereitzustellen die Leistung bei CPU-Auslastungsspitzen, z. B. aufgrund plötzlicher mehr Anfragetraffic.

CPU-Kapazitäten über 100% werden NICHT garantiert und sollten nicht für und normalen Datenbankvorgängen.

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 sicherer Mechanismus eine konsistente Leistung zu erzielen.

Diese zusätzliche CPU-Auslastung wird Kunden 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. Immer genug zuweisen Rechenkapazität ein, um die CPU-Auslastung unter den empfohlenen Maximalwerten zu halten. Als müssen Sie möglicherweise zusätzliche Rechenkapazität für leistungsempfindliche Anwendungen (z. B. zum Bewältigen von Arbeitslastspitzen)

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 entscheidend für den Zustand Ihrer Instanz und Spanner kann für unbegrenzte Zeit. Wenn Spanner sein System mit niedriger Priorität nicht ausführen kann Aufgaben innerhalb eines bestimmten Zeitfensters – in der Größenordnung von mehreren Stunden bis zu einem Tag – aufgrund von nicht ausreichend Rechenressourcen vorhanden sind, kann Spanner die Priorität 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 eine bestimmte Art des Vorgangs zu einer hohen CPU-Auslastung beiträgt, verwenden Sie Selbstprüfungstools, um das Problem weiter zu beheben. Weitere Informationen finden Sie unter Hohe CPU-Auslastung untersuchen

Nächste Schritte