Verwaltetes Autoscaling

Auf dieser Seite wird die Funktionsweise des verwalteten Autoscalings beschrieben. Außerdem werden die Kosten und Einschränkungen bei Verwendung des verwalteten Autoscalings beschrieben. Außerdem finden Sie hier Informationen zur Konfiguration des verwalteten Autoscalings.

Funktionsweise des verwalteten Autoscalings

Wenn Sie das verwaltete Autoscaling aktivieren, passt Spanner die Größe der Instanz automatisch an. Das verwaltete Autoscaling-Feature reagiert auf Änderungen der Arbeitslast oder des Speicherbedarfs Ihrer Instanz, wenn die Last zu- oder abnimmt. Beim verwalteten Autoscaling wird entweder hochskaliert, wodurch Rechenkapazität hinzugefügt oder herunterskaliert wird, wodurch Rechenkapazität von der Instanz entfernt wird.

Wenn Sie das verwaltete Autoscaling konfigurieren, können Sie entweder Verarbeitungseinheiten für kleine Instanzen oder Knoten für große Instanzen verwenden. In diesem Dokument steht der Begriff Rechenkapazität für Knoten oder Verarbeitungseinheiten.

Das verwaltete Autoscaling von Spanner 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. Wenn Ihre Instanz beispielsweise 10 Knoten benötigt, um Ihr Speicherauslastungsziel zu erreichen, aber 12 Knoten, um Ihr CPU-Auslastungsziel zu erreichen, skaliert Spanner die Instanz auf 12 Knoten.

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

Wenn das verwaltete Autoscaling eine Instanz bis zum Limit skaliert, die Arbeitslast jedoch immer noch eine höhere CPU-Auslastung als das Ziel verursacht, haben Arbeitslastanfragen möglicherweise eine höhere Latenz oder schlagen fehl. Wenn eine Instanz bis zum maximalen Rechenkapazitätsziel skaliert wird, die Arbeitslast aber mehr Speicher benötigt als das maximale Speicherlimit, können Schreibanfragen fehlschlagen. Wenn Sie herausfinden möchten, ob das maximale Ziel erreicht wurde, können Sie die Systemereignislogs für das verwaltete Autoscaling in der Google Cloud Console auf der Seite Systemstatistiken aufrufen. Weitere Informationen finden Sie unter Speicherlimits.

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

Kosten

Ihre Gesamtkosten für Spanner können niedriger oder höher sein. Dies hängt davon ab, wie Sie Ihre Spanner-Instanz vor der Aktivierung des verwalteten Autoscalings konfiguriert und welche Limits Sie für das verwaltete Autoscaling festgelegt haben.

Wenn Sie beispielsweise Ihre Spanner-Instanz manuell so konfiguriert haben, dass genügend Rechenkapazität vorhanden ist, um Spitzenarbeitslasten jederzeit zu bewältigen, können Ihre Kosten mit dem verwalteten Autoscaling geringer sein, da es die Rechenkapazität reduziert, wenn die Instanz inaktiv ist.

Wenn Sie Ihre Spanner-Instanz manuell so konfiguriert haben, dass sie genügend Rechenkapazität für durchschnittliche Arbeitslasten hat und sich die Gesamtleistung verschlechtert, wenn der Arbeitslast-Traffic steigt, können Ihre Kosten mit dem verwalteten Autoscaling höher sein, da das verwaltete Autoscaling die Rechenkapazität erhöhen kann, wenn die Instanz ausgelastet ist. Dies sorgt jedoch für eine konsistente Leistung der Nutzer.

Sie können die maximalen Kosten Ihrer Spanner-Instanz begrenzen, indem Sie das Limit für die maximale Anzahl von Knoten oder Verarbeitungseinheiten auf die Stufe festlegen, die Sie ausgeben möchten.

Beschränkungen

Wenn Sie das verwaltete Autoscaling-Feature für eine Instanz aktivieren oder ändern, gelten die folgenden Einschränkungen:

  • Sie können keine Instanz verschieben, wenn das verwaltete Autoscaling-Feature aktiviert ist. Sie müssen zuerst das verwaltete Autoscaling deaktivieren und dann die Instanz verschieben. Nachdem Sie die Instanz verschoben haben, können Sie das verwaltete Autoscaling wieder aktivieren.
  • Sie müssen das Mindestlimit für die Autoscaling-Instanz auf 1.000 Verarbeitungseinheiten oder mehr oder 1 Knoten oder mehr festlegen.
  • Wenn Sie Autoscaling für eine vorhandene Instanz aktivieren, kann die vorhandene Instanzkapazität unter dem Mindestwert liegen, den Sie für das verwaltete Autoscaling konfigurieren. Die Instanz wird jedoch beim Start 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 Start automatisch auf zwei Knoten hochskaliert.

Verwaltete Autoscaling-Parameter

Wenn Sie eine Instanz erstellen oder bearbeiten und das verwaltete Autoscaling 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 mit hoher Priorität der Instanz. 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 deutlich unter dem Ziel liegt, entfernt Spanner die Rechenkapazität. Eine Anleitung finden Sie unter CPU-Auslastungsziel bestimmen.
Speicherauslastungsziel Der Prozentsatz des Speichers auf einem Knoten, den Sie verwenden können, bevor Spanner hochskaliert wird. Mit diesem Ziel wird sichergestellt, dass Sie immer genügend Rechenkapazität haben, um Schwankungen in der von Ihnen gespeicherten Datenmenge zu bewältigen. Dieser Wert muss zwischen 10 und 99 % liegen. Eine Anleitung finden Sie unter Speicherauslastungsziel bestimmen.
Mindestgrenze Die niedrigste Rechenkapazität, auf die Spanner die Instanz herunterskaliert. Der Mindestwert darf nicht niedriger als 10% des von Ihnen festgelegten Höchstwerts sein. Wenn das Limit beispielsweise bei 40 Knoten liegt, muss die Mindestgrenze mindestens 4 Knoten betragen. Die Anforderung von 10 % ist eine feste Beschränkung. Eine Anleitung hierzu finden Sie unter Mindestgrenze festlegen.
Maximales Limit Die höchste Rechenkapazität, auf die Spanner die Instanz skaliert. Für 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 mehr als das Zehnfache der Zahl sein, die Sie für die Mindestmenge an Rechenkapazität ausgewählt haben. Diese 10-fache Anforderung ist ein festes Limit. Eine Anleitung hierzu finden Sie unter Obergrenze festlegen.

Verwaltetes Autoscaling konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie die Zahlen für Ihre verwalteten Autoscaling-Parameter festlegen. Nachdem Sie die Anfangswerte festgelegt haben, überwachen Sie Ihre Instanz und passen Sie die Zahlen bei Bedarf an.

CPU-Auslastungsziel bestimmen

Das optimale Ziel für Ihre Instanz hängt von den Latenz- und Durchsatzanforderungen Ihrer Arbeitslast ab. Unter Benachrichtigungen für hohe CPU-Auslastung finden Sie unsere Empfehlungen für die maximale CPU-Auslastung für einzelne regionale und multiregionale Instanzen.

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

Ziel der Speicherauslastung bestimmen

Beim Autoscaling wird das Speicherauslastungsziel als Prozentsatz pro Knoten ausgedrückt. Bei Instanzen mit mindestens 1 Knoten (1.000 Verarbeitungseinheiten) ist die Speichergröße auf 4 TB pro Knoten begrenzt.

Höchstgrenze festlegen

Der Wert, den Sie als maximale Rechenkapazität auswählen, entspricht der Rechenkapazität, die die Instanz für den schwersten Traffic benötigt, auch wenn Sie davon ausgehen, dieses Volumen die meiste Zeit nicht zu erreichen. Spanner kann nie auf eine höhere Rechenkapazität hochskaliert werden, als erforderlich ist. Sie können sich diese Zahl auch als die höchste Rechenkapazität vorstellen, für die Sie bereit sind zu zahlen. Weitere Informationen zu zulässigen Werten finden Sie unter Autoscaling-Parameter.

Das Limit muss sowohl das CPU-Auslastungsziel als auch das Speicherauslastungsziel zulassen, das Sie für das Autoscaling festgelegt haben.

  • Wenn Sie eine Instanz von manueller Zuweisung zu verwaltetem Autoscaling ändern, ermitteln Sie die höchste Rechenkapazität, die die Instanz in den letzten ein oder zwei Monaten hatte. Die Höchstgrenze für das verwaltete Autoscaling sollte mindestens so hoch sein.

  • Wenn Sie das verwaltete Autoscaling für eine neue Instanz aktivieren, schauen Sie sich die Messwerte von anderen Instanzen an und verwenden Sie diese beim Festlegen des Höchstlimits als Richtschnur.

  • Wenn Sie eine neue Arbeitslast haben und nicht sicher sind, wie sie wachsen wird, können Sie die Rechenkapazität schätzen, die Sie benötigen, um das integrierte Speicherauslastungsziel zu erreichen, und die Anzahl später anpassen.

Sie müssen auch wissen, wie viel Kontingent auf Ihrem Knoten verbleibt, da das verwaltete Autoscaling Ihre Instanz nicht so konfigurieren kann, dass sie mehr Rechenkapazität als Ihr Kontingent hat. Weitere Informationen finden Sie unter Knotenlimits.

Sobald die Instanz mit aktiviertem Autoscaling ausgeführt wird, überwachen Sie die Instanz und achten Sie darauf, dass der Wert für das Höchstlimit mindestens so hoch ist wie das empfohlene Limit für das CPU-Ziel und das empfohlene Limit für das Speicherziel.

Untergrenze festlegen

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

Der kleinste Minimalwert, den das verwaltete Autoscaling zulässt, ist 1 Knoten oder 1.000 Verarbeitungseinheiten. Wenn Sie Autoscaling für eine vorhandene Instanz aktivieren, deren Kapazität unter dem für das verwaltete Autoscaling konfigurierten Mindestwert liegt, wird die Instanz beim Start automatisch auf dieses Minimum skaliert.

Nachdem Sie die Instanz mit verwaltetem Autoscaling gestartet haben, sollten Sie einen ersten Test durchführen, um sicherzustellen, dass sie mit der Mindestsatzgröße funktioniert. Sie sollten regelmäßig Tests durchführen, um sicherzustellen, dass er weiterhin wie erwartet funktioniert.

Weitere Informationen zu zulässigen Werten finden Sie in diesem Dokument unter Verwaltete Autoscaling-Parameter.

Häufig möchten Sie den Mindestwert auf mehr als eins setzen. Wählen Sie in den folgenden Fällen eine höhere Zahl aus oder erhöhen Sie die Mindestgrenze:

  • Wenn Sie mit einem vorübergehenden Anstieg des Traffics rechnen und sichergehen möchten, dass genügend Rechenkapazität vorhanden ist, steht ein Spitzenereignis bevor.
  • Ihre Anwendung sendet Daten mit deutlichen Traffic-Spitzen. Wenn Sie neue Rechenkapazität hinzufügen, gleicht Spanner automatisch wieder das Gleichgewicht aus, um die neuen Knoten oder Verarbeitungseinheiten zu verwenden. Da dieser Vorgang einige Minuten dauern kann, sollten Sie einen konservativen Ansatz in Betracht ziehen und ein höheres Minimum auswählen. Auf diese Weise kann Ihre Instanz Spitzen nahtlos bewältigen.
  • Sie erhöhen die maximale Rechenkapazität. Der Mindestwert muss immer zehn Prozent oder weniger des maximalen Rechenkapazitätsziels betragen. Wenn Sie beispielsweise die maximale Anzahl von Knoten auf 30 festlegen, müssen Sie die Mindestanzahl von Knoten auf mindestens 3 festlegen.

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 Standardeinschränkungen. Wenn das Kontingent ausgeschöpft ist, schlägt die Anfrage zum Ändern der verwalteten Autoscaling-Konfiguration fehl und die Konfiguration wird nicht aktualisiert.

Parameter-Flags und Einschränkungen der Google Cloud CLI

Wenn Sie das verwaltete Autoscaling über die Google Cloud CLI konfigurieren, müssen Sie einige erforderliche Flags festlegen. Mit optionalen Flags können Sie angeben, ob Sie Knoten oder Verarbeitungseinheiten verwenden möchten. Weitere Informationen zum Erstellen einer neuen Instanz mit verwaltetem Autoscaling oder zum Aktivieren des verwalteten Autoscalings für eine vorhandene Instanz finden Sie unter:

Die folgenden Flags sind erforderlich, wenn Sie das verwaltete Autoscaling für Ihre Instanz aktivieren:

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

Wenn Sie Knoten verwenden möchten, müssen Sie beim Aktivieren des verwalteten Autoscalings auch die beiden folgenden Flags verwenden:

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

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

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

Beim Hinzufügen des verwalteten Autoscalings zu einer vorhandenen Instanz über die Google Cloud CLI gelten die folgenden Einschränkungen:

  • 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 anstelle eines Skalierungsbereichs 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 können nicht kombiniert werden. Sie können beispielsweise nicht --autoscaling-max-nodes mit autoscaling-min-processing-units verwenden.

Einstellungen optimieren

Behalten Sie die Nutzung der Rechenkapazität im Blick und passen Sie gegebenenfalls Ihre Einstellungen an, insbesondere nach der ersten Aktivierung des verwalteten Autoscalings. Wir empfehlen die Verwendung der Seite Systemstatistiken in der Google Cloud Console.

Zugriffssteuerung

Um das verwaltete Autoscaling zu konfigurieren, müssen Sie ein Hauptkonto mit einer Rolle sein, die Berechtigungen zum Erstellen und Aktualisieren für die von Ihnen konfigurierte Instanz hat.

Monitoring

Spanner bietet verschiedene Messwerte, mit denen Sie nachvollziehen können, wie gut das verwaltete Autoscaling beim Hoch- und Herunterskalieren funktioniert, um die Arbeitslastanforderungen zu erfüllen. Anhand der Messwerte können Sie auch feststellen, ob Ihre Einstellungen für die Arbeitslast- und Kostenanforderungen Ihres Unternehmens optimal sind. Wenn Sie beispielsweise feststellen, dass die Anzahl der Knoten für eine Instanz häufig der maximalen Anzahl von Knoten entspricht, sollten Sie das Maximum 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 Systemstatistiken in Diagrammen angezeigt. Sie können sich diese Messwerte auch mithilfe von Cloud Monitoring ansehen.

  • 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 die Systemereignislogs des verwalteten Autoscalings in der Google Cloud Console auf der Seite Systemstatistiken ansehen.

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

  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"
    

    Mit der folgenden Abfrage können Sie die Logs weiter filtern:

    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 Google Cloud oder mithilfe der Cloud Monitoring API einrichten.

Nächste Schritte