Verwaltetes Autoscaling

Auf dieser Seite wird beschrieben, wie das verwaltete Autoscaling funktioniert. Außerdem werden die Kosten und Einschränkungen bei der Verwendung des verwalteten Autoscalings beschrieben. Außerdem erhalten Sie Informationen dazu, wie Sie das verwaltete Autoscaling konfigurieren.

Funktionsweise des verwalteten Autoscalings

Wenn Sie das verwaltete Autoscaling aktivieren, passt Spanner die Größe Ihrer Instanz automatisch für Sie an. Die verwaltete Autoscaling-Funktion reagiert auf Änderungen der Arbeitslast oder der Speicheranforderungen Ihrer Instanz, wenn die Last zu- oder abnimmt. Verwaltetes Autoscaling skaliert vertikal, wodurch der Instanz Rechenkapazität hinzugefügt wird, oder verkleinert, wodurch Rechenkapazität aus 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 bezeichnet der Begriff Rechenkapazität Knoten oder Verarbeitungseinheiten.

Das von Spanner verwaltete Autoscaling bestimmt anhand von Folgendem, wie viel Rechenkapazität erforderlich ist:

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

Jede Skalierungsdimension generiert eine empfohlene Instanzgröße. Spanner verwendet automatisch die höchste Instanzgröße. Wenn die Instanz beispielsweise 10 Knoten benötigt, um das Speicherauslastungsziel zu erreichen, aber 12 Knoten, um das CPU-Auslastungsziel 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 wird und kein einzelner Server überlastet wird. Weitere Informationen finden Sie unter Einschränkungen.

Wenn das verwaltete Autoscaling eine Instanz bis zu ihrem maximalen Limit skaliert, die Arbeitslast aber 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 auf das maximale Rechenkapazitätsziel skaliert wird, die Arbeitslast jedoch mehr Speicher als das maximale Speicherlimit benötigt, schlagen Schreibanfragen fehl. Wenn Sie wissen möchten, ob das maximale Ziel erreicht ist, können Sie sich die Systemereignislogs des verwalteten Autoscalings in der Google Cloud Console auf der Seite Systemstatistiken ansehen. Weitere Informationen finden Sie unter Speicherlimits.

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

Kosten

Ihre Gesamtkosten für Spanner können je nachdem, wie Sie Ihre Spanner-Instanz vor der Aktivierung des verwalteten Autoscalings konfiguriert haben, und den Limits, die Sie für das verwaltete Autoscaling festgelegt haben, niedriger oder höher sein.

Wenn Sie beispielsweise Ihre Spanner-Instanz manuell so konfiguriert haben, dass sie genügend Rechenkapazität hat, um Spitzenarbeitslasten jederzeit bewältigen zu können, können Ihre Kosten für das verwaltete Autoscaling niedriger sein, da es die Rechenkapazität reduziert, wenn die Instanz inaktiv ist.

Wenn Sie Ihre Spanner-Instanz zuvor manuell so konfiguriert haben, dass sie genügend Rechenkapazität für durchschnittliche Arbeitslasten hat und sich die Gesamtleistung verschlechtert, wenn der Arbeitslasttraffic zunimmt, können Ihre Kosten für das verwaltete Autoscaling höher sein, da das verwaltete Autoscaling die Rechenkapazität erhöhen kann, wenn die Instanz ausgelastet ist. Dies führt jedoch zu einer konsistenteren Leistung für Ihre Nutzer.

Sie können die maximalen Kosten Ihrer Spanner-Instanz begrenzen, indem Sie die maximale Anzahl von Knoten oder Verarbeitungseinheiten auf den Betrag festlegen, den 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 auf 1 Knoten oder mehr festlegen.
  • Wenn Sie das Autoscaling auf einer vorhandenen Instanz aktivieren, kann die vorhandene Instanzkapazität unter dem Mindestwert liegen, den Sie für das verwaltete Autoscaling konfigurieren. Die Instanz wird beim Start jedoch automatisch auf den konfigurierten Mindestwert hochskaliert. Wenn Ihre Instanz beispielsweise einen Knoten hat, Sie aber den Mindestwert auf zwei Knoten festlegen, wird sie beim Start der Instanz automatisch auf 2 Knoten skaliert.

Parameter des verwalteten Autoscalings

Wenn Sie eine Instanz erstellen oder bearbeiten und das verwaltete Autoscaling aktivieren, definieren Sie die in der folgenden Tabelle dargestellten 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 deutlich unter dem Ziel liegt, entfernt Spanner Rechenkapazität. Eine Anleitung finden Sie unter CPU-Auslastungsziel ermitteln.
Speicherauslastungsziel Der Prozentsatz des Speicherplatzes 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 ermitteln.
Mindestgebot Die niedrigste Rechenkapazität, auf die Spanner die Instanz herunterskaliert. Der Mindestwert darf nicht unter 10% des festgelegten Höchstwerts liegen. Wenn die Höchstgrenze beispielsweise 40 Knoten beträgt, muss das Mindestlimit mindestens 4 Knoten betragen. Die Anforderung von 10 % ist eine feste Beschränkung. Eine Anleitung finden Sie unter Mindestlimit ermitteln.
Maximales Limit Die höchste Rechenkapazität, auf die Spanner die Instanz skaliert. Bei Knoten muss dieser Wert größer als 1 Knoten (oder 1.000 Verarbeitungseinheiten) und größer oder gleich der Mindestanzahl von Knoten oder Verarbeitungseinheiten sein. Der Wert darf nicht größer als das Zehnfache der Zahl sein, die Sie für die Mindestmenge der Rechenkapazität ausgewählt haben. Diese 10-malige Anforderung ist ein festes Limit. Weitere Informationen finden Sie unter Höchstzahl ermitteln.

Verwaltetes Autoscaling konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie die Zahlen bestimmen, die Sie für Ihre verwalteten Autoscaling-Parameter auswählen. Nachdem Sie Ihre 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 der Arbeitslast ab. Unter Benachrichtigungen bei hoher CPU-Auslastung finden Sie unsere Empfehlungen zur maximalen CPU-Nutzung 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 einem Knoten (1.000 Verarbeitungseinheiten) und mehr ist die Speichergröße auf 4 TB pro Knoten begrenzt.

Maximales Limit bestimmen

Der Wert, den Sie als maximale Rechenkapazität auswählen, entspricht der Rechenkapazität, die die Instanz zum Verarbeiten des höchsten Traffics benötigt, auch wenn Sie dieses Volumen die meiste Zeit nicht erreichen werden. Spanner kann nie auf mehr Rechenkapazität als nötig skaliert werden. Sie können sich diese Zahl auch als die höchste Rechenkapazität vorstellen, für die Sie bereit sind, zu bezahlen. Weitere Informationen zu zulässigen Werten finden Sie unter Autoscaling-Parameter.

Das maximale 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 auf verwaltetes Autoscaling umstellen, ermitteln Sie die höchste Rechenkapazität, die die Instanz in den letzten ein oder zwei Monaten hatte. Das maximale Limit für das verwaltete Autoscaling sollte mindestens so hoch sein.

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

  • Wenn Sie eine neue Arbeitslast haben und nicht sicher sind, wie sie wachsen wird, können Sie die Rechenkapazität abschätzen, die Sie benötigen, um das Ziel der integrierten Speicherauslastung zu erreichen, und die Zahl später anpassen.

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

Sobald die Instanz mit aktiviertem Autoscaling einsatzbereit ist, überwachen Sie die Instanz. Achten Sie darauf, dass der von Ihnen für das maximale Limit ausgewählte Limit mindestens so hoch wie das empfohlene Limit für das CPU-Ziel und das empfohlene Limit für das Speicherziel ist.

Minimales Limit bestimmen

Sie legen ein Mindestlimit für verwaltetes Autoscaling 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 zum Aufrechterhalten der CPU- und Speicherauslastungsziele erforderlich ist.

Der kleinste Mindestwert, den das verwaltete Autoscaling zulässt, beträgt 1 Knoten oder 1.000 Verarbeitungseinheiten. Wenn Sie das 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 diesen Mindestwert skaliert.

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

Weitere Informationen zu zulässigen Werten finden Sie in diesem Dokument unter Parameter für das verwaltete Autoscaling.

In vielen Fällen möchten Sie den Minimalwert auf mehr als eins setzen. Wählen Sie in den folgenden Situationen eine höhere Anzahl aus oder erhöhen Sie das Mindestlimit:

  • Ein Spitzenskalierungsereignis steht bevor, bei dem Sie davon ausgehen, dass Ihr Traffic vorübergehend zunehmen, und Sie sicherstellen möchten, dass genügend Rechenkapazität zur Verfügung steht.
  • Ihre Anwendung sendet Daten mit deutlichen Traffic-Spitzen. Wenn Sie neue Rechenkapazität hinzufügen, gleicht Spanner dies automatisch auf die neuen Knoten oder Verarbeitungseinheiten aus. Da dieser Vorgang mehrere Minuten dauern kann, sollten Sie einen konservativen Ansatz in Betracht ziehen und ein höheres Minimum wählen. Auf diese Weise kann Ihre Instanz Spitzenlasten nahtlos bewältigen.
  • Sie erhöhen die maximale Rechenkapazität. Der Mindestwert darf immer zehn Prozent oder weniger des Ziels für die maximale Rechenkapazität 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 Mindestrechenkapazitä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 dem verwalteten Autoscaling oder zum Aktivieren des verwalteten Autoscalings für eine vorhandene Instanz finden Sie hier:

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üssen Sie beim Aktivieren des verwalteten Autoscalings auch die beiden folgenden Flags verwenden:

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

Wenn Sie sich für Verarbeitungseinheiten entscheiden, müssen Sie beim Aktivieren des verwalteten Autoscalings auch die beiden folgenden Flags verwenden:

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

Wenn Sie das verwaltete Autoscaling einer vorhandenen Instanz über die Google Cloud CLI hinzufügen, gelten die folgenden Einschränkungen:

  • Sie können das Flag --nodes nicht zusammen mit den Flags --autoscaling-min-nodes oder --autoscaling-max-nodes verwenden, da mit --nodes eine bestimmte Anzahl von Knoten statt 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 statt eines Skalierungsbereichs festgelegt wird.
  • Die Flags für Knoten und Verarbeitungseinheiten können nicht kombiniert werden. --autoscaling-max-nodes kann beispielsweise nicht mit autoscaling-min-processing-units verwendet werden.

Einstellungen optimieren

Behalten Sie die Nutzung der Rechenkapazität im Auge und passen Sie die Einstellungen bei Bedarf an, insbesondere nachdem Sie das verwaltete Autoscaling zum ersten Mal aktiviert haben. Wir empfehlen dazu die Seite Systemstatistiken in der Google Cloud Console.

Zugriffssteuerung

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

Monitoring

Spanner bietet mehrere Messwerte, mit denen Sie nachvollziehen können, wie gut das verwaltete Autoscaling funktioniert, wenn es hoch- und herunterskaliert wird, um die Anforderungen der Arbeitslast zu erfüllen. Anhand der Messwerte können Sie auch beurteilen, 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 nahe an der maximalen Knotenanzahl liegt, sollten Sie eine Erhöhung des Maximums in Betracht ziehen. 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 diese Messwerte auch mit Cloud Monitoring aufrufen.

  • 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 bei jeder Skalierung einer Instanz ein Audit-Log für Systemereignisse.

Sie können die Systemereignislogs des verwalteten Autoscalings in der Google Cloud Console auf der Seite Systemstatistiken aufrufen.

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 über die Cloud Monitoring API einrichten.

Nächste Schritte