Verwaltetes Autoscaling

Auf dieser Seite wird beschrieben, wie der verwaltete Autoscaler funktioniert, und es werden die Kosten und Einschränkungen bei der Verwendung des verwalteten Autoscalers erläutert. Außerdem finden Sie dort Informationen dazu, wie Sie den verwalteten Autoscaler konfigurieren.

Funktionsweise des verwalteten Autoscalings

Wenn Sie den verwalteten Autoscaler aktivieren, passt Spanner automatisch die Größe Ihrer Instanz an. Die Funktion „Verwalteter Autoscaler“ reagiert auf Änderungen bei der Arbeitslast oder den Speicheranforderungen Ihrer Instanz, wenn sich die Last erhöht oder verringert. Beim verwalteten Autoscaling wird entweder hochskaliert, indem der Instanz Rechenkapazität hinzugefügt wird, oder herunterskaliert, indem der Instanz Rechenkapazität entzogen wird.

Wenn Sie den verwalteten Autoscaler konfigurieren, können Sie entweder Verarbeitungseinheiten für kleine Instanzen oder Knoten für große Instanzen verwenden. In diesem Dokument wird der Begriff Rechenkapazität für Knoten oder Verarbeitungseinheiten verwendet.

Der von Spanner verwaltete Autoscaler bestimmt anhand der folgenden Faktoren, wie viel Rechenkapazität erforderlich ist:

  • CPU-Auslastungsziel mit hoher Priorität
  • Speicherauslastungsziel
  • Mindestgrenze
  • Maximales Limit

Jede Skalierungsdimension generiert eine empfohlene Instanzgröße. Spanner verwendet automatisch die höchste Instanzgröße. Wenn Ihre Instanz beispielsweise 10 Knoten benötigt, um das Ziel der Speicherauslastung zu erreichen, aber 12, um das Ziel für die CPU-Auslastung zu erreichen, skaliert Spanner die Instanz auf 12 Knoten.

Wenn sich die Rechenkapazität ändert, optimiert Spanner den Speicher kontinuierlich. Dabei werden die Daten auf alle Server neu verteilt, um sicherzustellen, dass der Traffic gleichmäßig verteilt ist und kein einzelner Server überlastet wird. Weitere Informationen finden Sie unter Einschränkungen.

Wenn das verwaltete Autoscaling eine Instanz auf ihr maximales Limit hochskaliert, die Arbeitslast aber immer noch zu einer höheren CPU-Auslastung als das Ziel führt, können Arbeitslastanfragen eine höhere Latenz aufweisen oder fehlschlagen. Wenn eine Instanz bis zur maximalen Rechenkapazität skaliert wird, die Arbeitslast aber mehr Speicher benötigt als das maximale Speicherlimit, können Schreibanfragen fehlschlagen. Wenn Sie wissen möchten, ob das maximale Ziel erreicht wurde, können Sie sich die Ereignisprotokolle des verwalteten Autoscaling-Systems in der Google Cloud -Console auf der Seite Systemstatistiken ansehen. Weitere Informationen finden Sie unter Speicherlimits.

Wenn Spanner eine Instanz herunterskaliert, wird die Rechenkapazität langsamer entfernt als beim Hochskalieren, um Auswirkungen auf die Latenz zu reduzieren.

Kosten

Die Gesamtkosten für Spanner können niedriger oder höher sein, je nachdem, wie Sie Ihre Spanner-Instanz vor der Aktivierung des verwalteten Autoscalers konfiguriert haben und welche Limits Sie für den verwalteten Autoscaler festgelegt haben.

Wenn Sie Ihre Spanner-Instanz beispielsweise manuell so konfiguriert haben, dass sie jederzeit genügend Rechenkapazität für Spitzenarbeitslasten hat, sind Ihre Kosten mit dem verwalteten Autoscaler möglicherweise niedriger, da die Rechenkapazität reduziert wird, wenn die Instanz inaktiv ist.

Wenn Sie Ihre Spanner-Instanz bisher manuell so konfiguriert haben, dass sie für durchschnittliche Arbeitslasten genügend Rechenkapazität hat, und die Gesamtleistung bei steigendem Arbeitslastverkehr abnimmt, sind Ihre Kosten mit dem verwalteten Autoscaler möglicherweise höher, da er die Rechenkapazität erhöhen kann, wenn die Instanz ausgelastet ist. Dies bietet Ihren Nutzern jedoch eine gleichmäßigere Leistung.

Sie können die maximalen Kosten Ihrer Spanner-Instanz begrenzen, indem Sie die maximale Anzahl von Knoten oder Verarbeitungseinheiten auf das gewünschte Niveau festlegen.

Beschränkungen

Wenn Sie die Funktion für die verwaltete automatische Skalierung für eine Instanz aktivieren oder ändern, gelten die folgenden Einschränkungen:

  • Sie können eine Instanz nicht verschieben, wenn die Funktion „Verwalteter Autoscaler“ aktiviert ist. Sie müssen zuerst den verwalteten Autoscaler deaktivieren und dann die Instanz verschieben. Nachdem Sie die Instanz verschoben haben, können Sie den verwalteten Autoscaler wieder aktivieren.
  • Sie müssen das Mindestlimit für die Autoscaling-Instanz auf mindestens 1.000 Verarbeitungseinheiten oder 1 Knoten festlegen.
  • Wenn Sie das Autoscaling für eine vorhandene Instanz aktivieren, kann die Kapazität der vorhandenen Instanz unter dem Mindestgrenzwert liegen, den Sie für den verwalteten Autoscaler konfigurieren. Die Instanz wird jedoch beim Starten automatisch auf den konfigurierten Mindestwert hochskaliert. Wenn Ihre Instanz beispielsweise einen Knoten hat, Sie aber den Mindestwert auf zwei Knoten festlegen, wird die Instanz beim Starten automatisch auf zwei Knoten skaliert.

Parameter für verwaltetes Autoscaling

Wenn Sie eine Instanz erstellen oder bearbeiten und die verwaltete automatische Skalierung aktivieren, definieren Sie die in der folgenden Tabelle aufgeführten Werte.

Parameter Beschreibung
CPU-Auslastungsziel mit hoher Priorität Ein Prozentsatz der CPU-Kapazität der Instanz mit hoher Priorität. Dieser Wert muss zwischen 10% und 90 % liegen. Wenn die CPU-Auslastung einer Instanz das von Ihnen festgelegte Ziel überschreitet, fügt Spanner der Instanz sofort Rechenkapazität hinzu. Wenn die CPU-Auslastung wesentlich niedriger als das Ziel ist, entfernt Spanner Rechenkapazität. Eine Anleitung finden Sie unter CPU-Auslastungsziel bestimmen.
Speicherauslastungsziel Der Prozentsatz des Speicherplatzes auf einem Knoten, den Sie nutzen können, bevor Spanner hochskaliert. Mit diesem Ziel sorgen Sie dafür, dass immer genügend Rechenkapazität vorhanden ist, um Schwankungen der Menge an Daten, die Sie speichern, zu bewältigen. Dieser Wert muss zwischen 10 und 99 % liegen. Eine Anleitung finden Sie unter Ziel der Speicherauslastung bestimmen.
Mindestgrenze Die niedrigste Rechenkapazität, auf die Spanner die Instanz herunterskaliert. Der Mindestwert darf nicht unter 10% des Werts liegen, den Sie für das Höchstlimit festgelegt haben. Wenn das maximale Limit beispielsweise 40 Knoten beträgt, muss das Mindestlimit mindestens 4 Knoten betragen. Die Anforderung von 10 % ist eine feste Beschränkung. Weitere Informationen finden Sie unter Mindestlimit festlegen.
Maximales Limit Die höchste Rechenkapazität, auf die die Instanz von Spanner hochskaliert wird. Bei Knoten muss dieser Wert größer als 1 Knoten (oder 1.000 Verarbeitungseinheiten) und gleich oder größer als die Mindestanzahl von Knoten oder Verarbeitungseinheiten sein. Der Wert darf nicht höher als das 10-Fache der Anzahl sein, die Sie für die Mindestmenge an Rechenleistung auswählen. Diese 10-fache Anforderung ist eine feste Beschränkung. Weitere Informationen finden Sie unter Höchstgrenze ermitteln.

Verwaltetes Autoscaling konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie die Werte für die verwalteten Autoscaling-Parameter ermitteln. Nachdem Sie die anfänglichen Werte festgelegt haben, überwachen Sie die Instanz und passen Sie bei Bedarf die Werte an.

CPU-Auslastungsziel bestimmen

Das optimale Ziel für Ihre Instanz hängt von den Latenz- und Durchsatzanforderungen Ihrer Arbeitslast ab. Empfehlungen zur maximalen CPU-Auslastung für regionale, zweiregionale und multiregionale Instanzkonfigurationen finden Sie unter Benachrichtigungen für eine hohe CPU-Auslastung.

Im Allgemeinen sollten Sie, wenn Sie eine inakzeptabel hohe Latenz beobachten, das CPU-Auslastungsziel verringern.

Ziel der Speicherauslastung bestimmen

Beim Autoscaling wird das Ziel für die Speicherauslastung als Prozentsatz pro Knoten angegeben. Bei Instanzen mit mindestens 1 Knoten (1.000 Verarbeitungseinheiten) ist die Speicherkapazität auf 10 TB pro Knoten begrenzt.

Maximales Limit bestimmen

Der Wert, den Sie für die maximale Rechenkapazität auswählen, entspricht der Rechenkapazität, die die Instanz für die Verarbeitung des größten Traffics benötigt, auch wenn Sie nicht erwarten, dass dieses Volumen oft erreicht wird. Spanner skaliert nie auf mehr Rechenkapazität als nötig hoch. Sie können sich diese Anzahl auch als die höchste Rechenleistung vorstellen, für die Sie zu zahlen bereit sind. Weitere Informationen zu den zulässigen Werten finden Sie unter Autoscaler-Parameter.

Das Höchstlimit muss sowohl das CPU-Auslastungsziel als auch das Ziel für die Speicherauslastung berücksichtigen, die Sie für die automatische Skalierung festgelegt haben.

  • Wenn Sie eine Instanz von der manuellen Zuordnung zur verwalteten automatischen Skalierung ändern, ermitteln Sie die höchste Rechenkapazität, die die Instanz in den letzten ein bis zwei Monaten hatte. Das maximale Limit für den verwalteten Autoscaler sollte mindestens so hoch sein.

  • Wenn Sie den verwalteten Autoscaler für eine neue Instanz aktivieren, sehen Sie sich die Messwerte anderer Instanzen an und verwenden Sie diese als Orientierungshilfe, wenn Sie das maximale Limit festlegen.

  • Wenn Sie eine neue Arbeitslast haben und nicht sicher sind, wie sie wachsen wird, können Sie die Menge an Rechenkapazität schätzen, die Sie zum Erreichen des integrierten Speicherauslastungsziels benötigen, und passen die Zahl später an.

Außerdem müssen Sie wissen, wie viel Kontingent auf Ihrem Knoten noch verfügbar ist, da der verwaltete Autoscaler Ihre Instanz nicht mit mehr Rechenkapazität als Ihrem Kontingent konfigurieren kann. Weitere Informationen finden Sie unter Knotenlimits.

Sobald die Instanz einsatzbereit und Autoscaling aktiviert ist, überwachen Sie die Instanz und achten Sie darauf, dass der Wert für das maximale Limit mindestens so hoch wie das empfohlene Limit für das CPU-Ziel und das empfohlene Limit für das Speicherziel ist.

Mindestlimit festlegen

Sie legen ein Mindestlimit für den verwalteten Autoscaler fest, damit Ihre Spanner-Instanz auf die kleinste, kostengünstigste Größe herunterskaliert werden kann. Spanner verhindert automatisch, dass die Knotenanzahl unter den Mindestwert fällt, der für die CPU- und Speicherauslastungsziele erforderlich ist.

Der kleinste zulässige Wert für den verwalteten Autoscaler ist 1 Knoten oder 1.000 Verarbeitungseinheiten. Wenn Sie das Autoscaling für eine vorhandene Instanz aktivieren, die eine geringere Kapazität als der für den verwalteten Autoscaler konfigurierte Mindestwert hat, wird die Instanz beim Starten automatisch auf diesen Mindestwert hochskaliert.

Nachdem Sie die Instanz mit verwaltetem Autoscaling gestartet haben, sollten Sie einen ersten Test durchführen, um sicherzustellen, dass sie bei der festgelegten Mindestgröße funktioniert. Sie sollten es regelmäßig noch einmal testen, um sicherzustellen, dass es weiterhin wie erwartet funktioniert.

Weitere Informationen zu zulässigen Werten finden Sie in diesem Dokument unter Parameter für verwalteten Autoscaler.

In vielen Fällen ist es sinnvoll, den Mindestwert auf mehr als 1 zu setzen. Wählen Sie in den folgenden Situationen eine höhere Anzahl oder erhöhen Sie das Mindestlimit:

  • Sie haben ein anstehendes Ereignis mit Spitzenlast, bei dem Sie erwarten, dass Ihr Traffic vorübergehend zunimmt und Sie dafür sorgen möchten, dass genügend Rechenleistung vorhanden ist.
  • Ihre Anwendung sendet Daten mit deutlichen Traffic-Spitzen. Wenn Sie neue Rechenkapazität hinzufügen, wird Spanner automatisch neu ausbalanciert, um die neuen Knoten oder Verarbeitungseinheiten zu verwenden. Da dieser Prozess einige Minuten dauern kann, sollten Sie einen konservativen Ansatz in Form eines höheren Mindestwerts wählen. So kann Ihre Instanz die Spitzen problemlos bewältigen.
  • Sie erhöhen die maximale Rechenkapazität. Der Mindestwert muss immer mindestens 10 % des maximalen Ziels für die Rechenkapazität betragen. Wenn Sie beispielsweise die maximale Anzahl von Knoten auf 30 festlegen, muss die Mindestanzahl der Knoten mindestens 3 betragen.

Wenn Sie den Wert für die minimale Rechenkapazität einer Instanz erhöhen, versucht Spanner sofort, die Instanz auf das neue Minimum zu skalieren. Es gelten die standardmäßigen Einschränkungen. Wenn Ihr Kontingent aufgebraucht ist, schlägt der Antrag auf Änderung der Konfiguration des verwalteten Autoskalators fehl und die Konfiguration wird nicht aktualisiert.

Google Cloud CLI-Parameterflags und -einschränkungen

Wenn Sie die verwaltete automatische Skalierung mit der Google Cloud CLI konfigurieren, müssen Sie einige erforderliche Flags festlegen. Mithilfe von optionalen Flags können Sie angeben, ob Sie Knoten oder Verarbeitungseinheiten verwenden möchten. Weitere Informationen zum Erstellen einer neuen Instanz mit dem verwalteten Autoscaling oder zum Aktivieren des verwalteten Autoscalings für eine vorhandene Instanz finden Sie unter den folgenden Links:

Die folgenden Flags sind erforderlich, wenn Sie den verwalteten Autoscaler für Ihre Instanz aktivieren:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-storage-percent

Wenn Sie Knoten verwenden, müssen Sie auch die beiden folgenden Flags verwenden, wenn Sie den verwalteten Autoscaler aktivieren:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Wenn Sie Verarbeitungseinheiten verwenden, müssen Sie beim Aktivieren des verwalteten Autoscalers auch die folgenden beiden Flags verwenden:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Die folgenden Einschränkungen gelten, wenn Sie einer vorhandenen Instanz mithilfe der Google Cloud CLI die verwaltete Autoscaling-Funktion hinzufügen:

  • Sie können das Flag --nodes nicht mit den Flags --autoscaling-min-nodes oder --autoscaling-max-nodes verwenden, da mit --nodes eine bestimmte Anzahl von Knoten und nicht ein Skalierungsbereich festgelegt wird. Ebenso können Sie das Flag --processing-units nicht mit den Flags autoscaling-min-processing-units oder autoscaling-max-processing-units verwenden, da mit --processing-units eine bestimmte Anzahl von Verarbeitungseinheiten und nicht ein Skalierungsbereich festgelegt wird.
  • Die Flags für Knoten und Verarbeitungseinheiten dürfen nicht kombiniert werden. Sie können beispielsweise --autoscaling-max-nodes nicht mit autoscaling-min-processing-units kombinieren.

Einstellungen optimieren

Achten Sie auf die Nutzung der Rechenkapazität und passen Sie bei Bedarf die Einstellungen an, insbesondere nach der ersten Aktivierung des verwalteten Autoscalings. Wir empfehlen, die Seite System Insights in derGoogle Cloud -Console zu verwenden.

Zugriffssteuerung

Zum Konfigurieren des verwalteten Autoscalings müssen Sie ein Hauptkonto mit einer Rolle mit den Berechtigungen zum Erstellen und Aktualisieren für die Instanz haben, die Sie konfigurieren.

Monitoring

Spanner bietet mehrere Messwerte, mit denen Sie nachvollziehen können, wie gut der verwaltete Autoscaler funktioniert, wenn er entsprechend den Arbeitslastanforderungen hoch- und herunterskaliert. Anhand der Messwerte können Sie auch beurteilen, ob Ihre Einstellungen optimal sind, um die Arbeitslast- und Kostenanforderungen Ihres Geschäfts zu erfüllen. Wenn Sie beispielsweise feststellen, dass die Knotenanzahl für eine Instanz häufig nahe an der maximalen Anzahl von Knoten ist, sollten Sie die maximale Anzahl vielleicht erhöhen. Weitere Informationen zum Überwachen Ihrer Spanner-Ressourcen finden Sie unter Instanzen mit Cloud Monitoring überwachen.

Die folgenden Messwerte werden in der Google Cloud -Console auf der Seite Systeminformationen in Grafiken angezeigt. Sie können diese Messwerte auch mit Cloud Monitoring anzeigen lassen.

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Logging

Spanner erstellt jedes Mal ein Audit-Log für Systemereignisse, wenn eine Instanz skaliert wird.

Sie können sich die Systemereignisprotokolle des verwalteten Autoscalers in derGoogle Cloud -Konsole auf der Seite Systemstatistiken ansehen.

Sie können Logs auch mit dem Log-Explorer aufrufen:

  1. Öffnen Sie in der Google Cloud -Console den Log-Explorer:

    Zu „Log-Explorer“

  2. Wählen Sie das entsprechende Google Cloud -Projekt aus.

  3. Geben Sie im Feld Query Folgendes ein:

     protoPayload.methodName="AutoscaleInstance"
    

    Sie können die folgende Abfrage hinzufügen, um die Logs weiter einzugrenzen:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Klicken Sie auf Abfrage ausführen.

Im Bereich Abfrageergebnisse werden die Logs der letzten Stunde angezeigt.

Weitere Informationen zum Anzeigen von Logs finden Sie unter Cloud Logging. Sie können logbasierte Benachrichtigungen auf der Seite Log-Explorer in der Google Cloud oder mithilfe der Cloud Monitoring API einrichten.

Nächste Schritte