CPU-Auslastungsmesswerte

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

CPU-Auslastung und Aufgabenpriorität

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

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

  • Priority (Priorität): Die Priorität bestimmt, welche Aufgaben zuerst ausgeführt werden sollen. Die Priorität von Systemaufgaben ist vordefiniert und kann nicht konfiguriert werden. User-Aufgaben 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. Dies kann beispielsweise nützlich sein, wenn Sie Batch-, Wartungs- oder Analyseabfragen ausführen, die keine strikten SLOs haben.

    Aufgaben mit höherer Priorität werden im Allgemeinen vor Aufgaben mit niedrigerer Priorität ausgeführt. Mit Spanner können Aufgaben mit hoher Priorität bis zu 100% der verfügbaren CPU-Ressourcen nutzen, auch wenn konkurrierende Aufgaben mit niedrigerer Priorität vorhanden sind. Systemaufgaben mit niedrigerer Priorität können zwar kurzfristig verzögert werden, müssen aber letztendlich ausgeführt werden. Daher müssen Sie Ihre Instanz mit ausreichend Rechenkapazität bereitstellen, um alle Aufgaben zu verarbeiten.

    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 zu erledigen. Spitzen im Hintergrund sind kein Anzeichen für ein Problem. Aufgaben mit niedrigerer Priorität können praktisch sofort zu Aufgaben mit höherer Priorität führen, einschließlich Nutzeraufgaben.

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

Nutzeraufgaben Systemaufgaben
Hohe Priorität

Umfasst Datenanfragen wie read oder executeSql, wenn entweder keine Priorität oder PRIORITY_HIGH angegeben ist.

Enthält Datenaufteilung.

Mittlere Priorität

Inhalt:

  • Datenanfragen, bei denen PRIORITY_MEDIUM angegeben ist
  • Lese- und Schreibvorgänge, die von Dataflow-Jobs ausgeführt werden, einschließlich Import und Export.

Inhalt:

Weniger wichtig

Enthält Datenanfragen, bei denen PRIORITY_LOW angegeben ist.

Umfasst Backfilling eines Index.

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. Sie können ein Diagramm für diesen Messwert in der Google Cloud Console oder in der Cloud Monitoring Console als gleitenden 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 sich ein Diagramm für diesen Messwert in der Google Cloud Console oder in der Cloud Monitoring Console ansehen.

  • 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. Verwenden Sie diesen Messwert, um eine detaillierte Aufschlüsselung der CPU-Nutzung zu erhalten und weitere Fehler zu beheben, wie unter Hohe CPU-Auslastung untersuchen erläutert. In der Cloud Monitoring-Konsole können Sie ein Diagramm für diesen Messwert erstellen.

    Sie können die Cloud Monitoring-Konsole 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 Instanzen mit einer einzelnen Region und mit mehreren Regionen. Diese Zahlen sorgen dafür, dass Ihre Instanz über genügend Rechenkapazität verfügt, damit der Traffic auch dann weitergeleitet werden kann, wenn eine gesamte Zone (bei Instanzen mit nur einer Region) oder eine gesamte Region (bei Instanzen mit mehreren Regionen) ausfällt.

Messwert Maximum für Instanzen mit einer Region Maximum pro Region für Instanzen mit mehreren Regionen
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 Cloud 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 reduzieren

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

Im Allgemeinen empfehlen wir, die Compute-Kapazität Ihrer Instanz als Ausgangspunkt zu erhöhen. Nachdem Sie die Rechenkapazität erhöht haben, können Sie die Ursachen einer 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.

Berücksichtigen Sie die maximale CPU-Auslastung mit hoher Priorität sowie den rund um die Uhr geglätteten Durchschnitt, um die benötigte Rechenkapazität zu ermitteln. 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 leistungsintensive Anwendungen (z. B. zum Generieren von Arbeitslastspitzen) zusätzliche Rechenkapazität zuweisen.

Wenn Sie nicht genügend Rechenkapazität haben, verschiebt Spanner Aufgaben nach Prioritätsebene. 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 Spanner kann sie nicht auf unbestimmte Zeit aufschieben. Wenn Spanner die Systemaufgaben mit niedriger Priorität nicht innerhalb eines bestimmten Zeitfensters – in der Größenordnung von mehreren Stunden bis einem Tag – erledigen kann, kann das aufgrund unzureichender Rechenressourcen dazu führen, dass Spanner die Priorität der Systemaufgaben erhöht. Diese Änderung wirkt sich auf die Leistung von Nutzeraufgaben aus.

Genauere Untersuchungen mit Tools zur Selbstprüfung

Wenn der Messwert CPU-Auslastung nach Vorgangstyp darauf hinweist, dass ein bestimmter Vorgangstyp zu einer hohen CPU-Auslastung beiträgt, verwenden Sie die Spanner-Tools zur Selbstprüfung, um weitere Schritte zur Fehlerbehebung zu unternehmen. Weitere Informationen finden Sie unter Hohe CPU-Auslastung untersuchen.

Nächste Schritte