CPU-Auslastungsmesswerte

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

CPU-Auslastung und Aufgabenpriorität

Cloud 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: Anhand der Priorität kann Cloud Spanner ermitteln, welche Aufgaben zuerst ausgeführt werden sollen. Die Priorität von Systemaufgaben ist voreingestellt und kann nicht konfiguriert werden. User-Aufgaben werden mit hoher Priorität ausgeführt, sofern nicht anders angegeben. Bei vielen Datenanfragen, wie z. B. read und executeSql, können Sie eine niedrigere Priorität für die Anfrage festlegen. Dies ist beispielsweise dann nützlich, wenn Sie Batch-, Wartungs- oder analytische Abfragen ohne strikte Leistungs-SLOs ausführen.

    Aufgaben mit höherer Priorität werden im Allgemeinen vor Aufgaben mit niedrigerer Priorität ausgeführt. Cloud Spanner ermöglicht Aufgaben mit hoher Priorität, bis zu 100% der verfügbaren CPU-Ressourcen verfügbar zu sein, auch wenn sie mit einem niedrigeren Wert konkurrieren.{101 }Prioritätsaufgaben. Während Systemaufgaben mit niedriger Priorität zwar kurzfristig verzögert werden können, müssen sie dennoch letztendlich ausgeführt werden. Daher müssen Sie die Instanz für genügend Knoten bereitstellen, um alle Aufgaben zu verarbeiten.

    Wenn keine Aufgaben mit hoher Priorität vorhanden sind, nutzt Cloud Spanner bis zu 100% der verfügbaren CPU-Ressourcen, um Aufgaben mit niedriger Priorität schneller auszuführen. Lastspitzen im Hintergrund sind kein Anzeichen für ein Problem. Aufgaben mit niedriger 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 jede Aufgabe:

Nutzeraufgaben Systemaufgaben
Hohe Priorität

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

Umfasst Datenaufteilung.

Mittlere Priorität

Inklusive:

  • Datenanfragen, bei denen PRIORITY_MEDIUM angegeben ist
  • Lese- und Schreibvorgänge, die von Dataflow-Jobs ausgegeben werden (einschließlich Import/Export).
  • Inklusive:

  • Datenbankverdicht
  • Validierung der Schemaänderung
  • Optimierungsphase der Datenbankwiederherstellung
  • Niedrige Priorität

    Umfasst Datenanfragen, bei denen PRIORITY_LOW angegeben ist.

    Inklusive:

  • Sicherung erstellen
  • Backfill eines Index
  • Verfügbare Messwerte

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

    • Gleichmäßige 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-Nutzung über einen längeren Zeitraum zu analysieren, z. B. 24 Stunden. Sie können sich ein Diagramm für diesen Messwert in der Cloud Console oder in der Cloud Monitoring Console als Rolling durchschnittlich 24{101] ansehen. } 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. Mit diesem Messwert können Sie Benachrichtigungen erstellen und die CPU-Nutzung auf übergeordneter Ebene analysieren. Sie können sich ein Diagramm für diesen Messwert in der Cloud Console oder in der Cloud Monitoring Console anzeigen lassen.

    • CPU-Auslastung nach Vorgangstyp: Die CPU-Auslastung als Prozentsatz der CPU-Ressourcen der Instanz, gruppiert nach vom Nutzer initiierten Vorgängen wie Lesevorgänge, Schreibvorgänge und Commits. Verwenden Sie diesen Messwert, um eine detaillierte Aufschlüsselung der CPU-Nutzung und Fehlerbehebung zu erhalten, wie unter Hohe CPU-Auslastung untersuchen erläutert. Sie können in der Cloud Monitoring Console ein Diagramm für diesen Messwert 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 Instanzen mit einer einzelnen Region und mit mehreren Regionen. 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 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 Ihnen, der Instanz Knoten als Ausgangspunkt hinzuzufügen. Nachdem Sie Knoten hinzugefügt haben, können Sie die Ursachen der hohen CPU-Auslastung untersuchen und beheben.

    Knoten hinzufügen

    Wenn Sie die empfohlenen Maximalwerte für die CPU-Auslastung überschreiten, empfehlen wir dringend, Ihrer Instanz Knoten hinzuzufügen, 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 mit der Methode UpdateInstance Knoten nach Bedarf hinzufügt und entfernt.

    Um die Anzahl der benötigten Knoten zu bestimmen, 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 Knoten zu, um die CPU-Auslastung unter den empfohlenen Maximalwerten zu halten. Wie bereits beschrieben, müssen Sie möglicherweise zusätzliche Knoten für Anwendungen mit hoher Leistung zuweisen, um beispielsweise Arbeitslasten auszugleichen.

    Wenn Sie nicht genügend Knoten haben, verschiebt Cloud Spanner Aufgaben nach Prioritätsstufe. Systemaufgaben mit niedriger Priorität wie 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 Cloud Spanner nicht unbegrenzt aufgeschoben werden. Wenn Cloud 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 Cloud Spanner möglicherweise die Priorität der Systemaufgaben. Diese Änderung wirkt sich auf die Leistung von Nutzeraufgaben aus.

    Weitere Untersuchung mit Tools für die Einführung

    Wenn der Messwert CPU-Auslastung nach Vorgangstyp anzeigt, dass eine bestimmte Art von Vorgang zu einer hohen CPU-Auslastung führt, verwenden Sie die Introspektionstools von Cloud Spanner, um das Problem weiter zu beheben. Weitere Informationen finden Sie unter Hohe CPU-Auslastung untersuchen.

    Nächste Schritte