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 das verwaltete Autoscaling aktivieren, passt Spanner die die Größe Ihrer Instanz. Die verwaltete Autoscaling-Funktion reagiert auf Änderungen je nach Arbeitslast oder Speicherbedarf Ihrer Instanz. Beim verwalteten Autoscaling wird entweder vertikal skaliert, wodurch Rechenkapazität hinzugefügt wird. oder herunterskaliert und dadurch Rechenkapazität aus der Instanz entfernt 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 als Synonym für Knoten oder Verarbeitungseinheiten verwendet.
Das verwaltete Autoscaling von Spanner bestimmt, ist eine Kapazität erforderlich, basierend auf Folgendem:
- 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. Das bedeutet, Wenn Ihre Instanz beispielsweise 10 Knoten benötigt, um die Speicherauslastung zu erreichen, aber 12 Knoten, um das CPU-Auslastungsziel zu erreichen, Spanner die Instanz auf 12 Knoten skaliert.
Wenn sich die Rechenkapazität ändert, optimiert Spanner den Speicher kontinuierlich. Die Daten werden auf allen Servern neu verteilt. um sicherzustellen, dass 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 zu ihrem Limit skaliert, der verursacht immer noch eine höhere CPU-Auslastung dem Ziel entsprechen, können Arbeitslastanfragen einen höheren oder ausfallen. Wenn eine Instanz bis zur maximalen Rechenkapazität hochskaliert wird, die Arbeitslast aber mehr Speicher benötigt als das maximale Speicherlimit, können Schreibanfragen fehlschlagen. Ob das maximale Ziel erreicht wurde, können Sie anhand der Systemereignisprotokolle des verwalteten Autoscaling in der Google Cloud Console auf der Seite Systemstatistiken sehen. 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 z. B. Spanner manuell konfiguriert haben, um genügend Rechenkapazität für Spitzenarbeitslasten zu haben. können Ihre Kosten mit dem verwalteten Autoscaling niedriger sein, wenn die Instanz inaktiv ist.
Wenn Sie Ihre Spanner-Instanz bisher manuell so konfiguriert haben, genügend Rechenkapazität für durchschnittliche Arbeitslasten und Verschlechterungen der Gesamtleistung Wenn der Arbeitslast-Traffic steigt, werden Ihre Kosten mit dem verwalteten Autoscaling kann höher sein, da das verwaltete Autoscaling 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 keine Instanz verschieben, wenn der verwaltete Autoscaling-Funktion aktiviert ist. Sie müssen zuerst die verwalteten und verschieben Sie die Instanz. Nachdem Sie die Instanz verschoben haben, können Sie das verwaltete Autoscaling wieder zu aktivieren.
- Sie müssen das Minimallimit für die Autoscaling-Instanz auf 1.000 festlegen Verarbeitungseinheiten oder größer oder 1 Knoten oder mehr.
- Wenn Sie Autoscaling auf einer vorhandenen Instanz aktivieren, wird die vorhandene Instanz Die Kapazität kann unter dem Mindestwert liegen, den Sie für das verwaltete Autoscaling konfigurieren. Die Instanz wird jedoch automatisch auf das konfigurierte Minimum skaliert. wenn Sie ihn starten. 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.
Verwaltete Autoscaling-Parameter
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 Speichers auf einem Knoten, den Sie vor dem Spanner skaliert hoch. 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. Weitere Informationen finden Sie unter Bestimmen Sie das Speicherauslastungsziel. |
Mindestgrenze | Die niedrigste Rechenkapazität, die Spanner skaliert die Instanz herunter. 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. Für Knoten muss dieser Wert größer als 1 Knoten (oder 1.000 Verarbeitungseinheiten) und größer oder gleich der Mindestanzahl an Knoten oder Verarbeitungseinheiten. Der Wert darf nicht mehr als das Zehnfache des Zahl, die Sie für die Mindestmenge an Rechenkapazität wählen. Diese 10-fache Anforderung ist eine feste Beschränkung. Weitere Informationen finden Sie unter Bestimmen Sie die Obergrenze. |
Verwaltetes Autoscaling konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie festlegen, welche Nummern für Ihre verwalteten automatisch skalieren. Nachdem Sie die Anfangswerte festgelegt haben, Ihre Instanz überwachen und bei Bedarf die Zahlen anpassen.
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 auf 4 TB pro Knoten begrenzt.
Höchstgrenze festlegen
Der Wert, den Sie als maximale Rechenkapazität auswählen, ist gleich die Rechenkapazität, die die Instanz benötigt, um die meisten Zugriffe haben, auch wenn Sie im Lauf der Zeit nicht erwarten, dieses Volumen zu erreichen . Spanner skaliert nie auf mehr Rechenkapazität als nötig hoch. Sie können sich diese Zahl auch als die höchste Rechenmenge für die Sie zu zahlen bereit sind. Weitere Informationen finden Sie unter Autoscaling-Parameter mit Details zu zulässigen Werten.
Das Limit muss sowohl das CPU-Auslastungsziel als auch das Speicherauslastungsziel, das Sie für das Autoscaling festgelegt haben.
Instanz von manueller Zuweisung in verwaltet ändern Autoscaling, um die höchste Rechenkapazität zu finden, die die Instanz in den letzten ein oder zwei Monaten. 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.
Sie müssen auch wissen, wie viel Kontingent auf Ihrem Knoten verbleibt, da die Funktion Das verwaltete Autoscaling kann Ihre Instanz nicht für mehr Rechenkapazität konfigurieren als Ihr Kontingent. Weitere Informationen finden Sie unter Knotenlimits.
Sobald die Instanz einsatzbereit und die automatische Skalierung 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 der Knoten Anzahl der Elemente, die unter das Minimum fallen, das für die Beibehaltung von CPU und Speicher erforderlich ist Nutzungsziele.
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, unter dem für das verwaltete Autoscaling konfigurierten Mindestwert liegt, wird die Instanz beim Start automatisch bis zu diesem Minimum skaliert.
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 um sicherzustellen, dass er 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 folgenden Fällen eine höhere Zahl oder ein höheres Mindestlimit an:
- Ein Spitzenereignis steht bevor, wenn der Traffic voraussichtlich vorübergehend ansteigen und sicherstellen, dass genügend Rechenleistung Kapazität.
- 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 Vorgang einige Minuten dauern kann, einen eher konservativen Ansatz wählen Minimum Auf diese Weise kann Ihre Instanz Spitzen nahtlos bewältigen.
- Sie erhöhen die maximale Rechenkapazität. Die Mindestanzahl muss immer zehn sein
Prozentsatz oder mehr des maximalen Rechenkapazitätsziels erreicht. Wenn Sie beispielsweise die maximale Anzahl von Knoten auf
30
festlegen, muss die Mindestanzahl der Knoten mindestens3
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 das Kontingent ausgeschöpft ist, die Konfiguration fehlschlägt und die Konfiguration nicht aktualisiert wird.
Parameter-Flags und Einschränkungen der Google Cloud CLI
Wenn Sie das verwaltete Autoscaling über die Google Cloud CLI konfigurieren, gibt es einige Flags, die Sie festlegen müssen. Mit optionalen Flags geben Sie an, ob Sie Knoten oder Verarbeitungseinheiten verwenden möchten. Weitere Informationen zu Erstellen einer neuen Instanz mit verwaltetem Autoscaling oder für das Autoscaling einer vorhandenen Instanz, finden Sie hier:
Die folgenden Flags sind erforderlich, wenn Sie das verwaltete Autoscaling auf Ihrem Instanz:
autoscaling-high-priority-cpu-percent
autoscaling-storage-percent
Wenn Sie Knoten nutzen, müssen Sie auch die beiden folgenden Flags verwenden, wenn aktivieren Sie das verwaltete Autoscaling:
autoscaling-min-nodes
autoscaling-max-nodes
Wenn Sie sich für Verarbeitungseinheiten entscheiden, müssen Sie auch die beiden folgenden Flags, wenn Sie das verwaltete Autoscaling aktivieren:
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:
- Das Flag
--nodes
kann nicht mit den Flags--autoscaling-min-nodes
oder--autoscaling-max-nodes
verwendet werden, da mit--nodes
eine bestimmte Anzahl von Knoten und kein Skalierungsbereich festgelegt wird. Ebenso können Sie die Methode--processing-units
mit demautoscaling-min-processing-units
- oderautoscaling-max-processing-units
-Flags, da mit--processing-units
legt eine bestimmte Anzahl von Verarbeitungseinheiten fest, als ein Skalierungsbereich. - Die Flags für Knoten und Verarbeitungseinheiten können nicht kombiniert werden. Sie können beispielsweise
--autoscaling-max-nodes
nicht mitautoscaling-min-processing-units
kombinieren.
Einstellungen optimieren
Behalten Sie Ihre Rechenkapazität im Blick und passen Sie Ihre Einstellungen an, wenn insbesondere nach der ersten Aktivierung des verwalteten Autoscalings. Wir empfehlen, auf der Seite Systemstatistiken im Google Cloud Console
Zugriffssteuerung
Um das verwaltete Autoscaling zu konfigurieren, müssen Sie ein Hauptkonto mit einer Rolle mit Berechtigungen erstellen und aktualisieren für die Instanz, 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 feststellen, sind optimal, um die Arbeitslast- und Kostenanforderungen Ihres Unternehmens zu erfüllen. Beispiel: Wenn Sie feststellen, dass die Knotenanzahl für eine Instanz häufig nahe am Maximalwert liegt Knotenanzahl erhöhen, können Sie das Maximum erhöhen. Weitere Informationen über Monitoring Ihrer Spanner-Ressourcen finden Sie unter Instanzen mit Cloud Monitoring überwachen
Die folgenden Messwerte sind in Grafiken in den Systemstatistiken in der Google Cloud Console. 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 ein Instanz.
Die Systemereignisprotokolle des verwalteten Autoscalings finden Sie in der In der Google Cloud Console auf der Seite Systemstatistiken.
Sie können Logs auch mit dem Log-Explorer aufrufen:
Öffnen Sie in der Google Cloud Console den Log-Explorer:
Wählen Sie das entsprechende Google Cloud-Projekt aus.
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"
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 einrichten. auf der Seite Log-Explorer in Google Cloud oder mithilfe der Methode Cloud Monitoring API
Nächste Schritte
- Weitere Informationen zum Erstellen einer Instanz
- Weitere Informationen zum Ändern einer Instanz, um Autoscaling hinzuzufügen oder die Autoscaling-Einstellungen zu ändern
- Autoscaling für eine Instanz deaktivieren