Skalierung ElastiCache (Memcached) - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Skalierung ElastiCache (Memcached)

Skalierung ElastiCache (Memcached)

ElastiCache Serverless passt sich automatisch Ihrem Workload-Verkehr an, wenn er steigt oder fällt. Verfolgt für jeden ElastiCache serverlosen Cache ElastiCache kontinuierlich die Auslastung von Ressourcen wie CPU, Arbeitsspeicher und Netzwerk. Wenn eine dieser Ressourcen eingeschränkt ist, skaliert ElastiCache Serverless, indem es einen neuen Shard hinzufügt und die Daten auf den neuen Shard umverteilt, ohne dass es zu Ausfallzeiten für Ihre Anwendung kommt. Sie können die Ressourcen überwachen, die von Ihrem Cache-In CloudWatch verbraucht werden, indem Sie die BytesUsedForCache Metrik für die Cache-Datenspeicherung und ElastiCacheProcessingUnits (ECPU) für die Computernutzung überwachen.

Festlegen von Skalierungslimits zur Kostenkontrolle

Sie können wählen, ob Sie eine maximale Nutzung sowohl für den Cache-Datenspeicher als auch für die ECPU/Sekunde für Ihren Cache konfigurieren möchten, um die Cache-Kosten zu kontrollieren. Dadurch wird sichergestellt, dass Ihre Cache-Nutzung das konfigurierte Maximum nicht überschreitet.

Wenn Sie ein Skalierungsmaximum festlegen, kann es bei Ihrer Anwendung zu einer verringerten Cache-Leistung kommen, sobald der Cache das Maximum erreicht. Wenn Sie ein Maximum für den Cache-Datenspeicher festlegen und Ihr Cache-Datenspeicher das Maximum erreicht, ElastiCache beginnt das Löschen von Daten in Ihrem Cache mithilfe der LRU-Logik. Wenn Sie ein Maximum in ECPU/Sekunde festlegen und die Rechenauslastung Ihres Workloads diesen Wert überschreitet, ElastiCache beginnt die Drosselung von Memcached-Anfragen.

Wenn Sie ein maximales Limit für BytesUsedForCache oder einrichtenElastiCacheProcessingUnits, empfehlen wir dringend, einen CloudWatch Alarm bei einem niedrigeren Wert als dem Höchstwert einzurichten, damit Sie benachrichtigt werden, wenn Ihr Cache in der Nähe dieser Grenzwerte arbeitet. Wir empfehlen, einen Alarm bei 75 % des von Ihnen festgelegten maximalen Limits einzustellen. Informationen zum Einrichten von CloudWatch Alarmen finden Sie in der Dokumentation.

Vorskalierung mit Serverless ElastiCache

ElastiCache Serverlose Vorskalierung

Mit der Vorskalierung, auch Pre-Warming genannt, können Sie die unterstützten Mindestgrenzen für Ihren Cache festlegen. ElastiCache Sie können diese Mindestwerte für ElastiCache Verarbeitungseinheiten (eCPUs) pro Sekunde oder Datenspeicher festlegen. Dies kann bei der Vorbereitung auf erwartete Skalierungsereignisse nützlich sein. Wenn ein Spieleunternehmen beispielsweise innerhalb der ersten Minute, in der sein neues Spiel veröffentlicht wird, eine 5-fache Zunahme der Logins erwartet, kann es seinen Cache für diesen deutlichen Anstieg der Nutzung vorbereiten.

Sie können die Vorskalierung mithilfe der ElastiCache Konsole, der CLI oder der API durchführen. ElastiCache Serverless aktualisiert die verfügbaren eCPUs/Sekunde im Cache innerhalb von 60 Minuten und sendet eine Ereignisbenachrichtigung, wenn die Aktualisierung des Mindestlimits abgeschlossen ist.

So funktioniert die Vorskalierung

Wenn das Mindestlimit für eCPUs/Sekunde oder Datenspeicher über die Konsole, CLI oder API aktualisiert wird, ist dieses neue Limit innerhalb von 1 Stunde verfügbar. ElastiCache Serverless unterstützt 30.000 ECPUs/Sekunde bei leerem Cache und bis zu 90.000 ECPUs/s bei Verwendung der Funktion „Aus Replikat lesen“. ElastiCache kann ECPUS/Sekunde alle 10—12 Minuten verdoppeln. Diese Skalierungsgeschwindigkeit ist für die meisten Workloads ausreichend. Wenn Sie davon ausgehen, dass ein bevorstehendes Skalierungsereignis diese Rate überschreiten könnte, empfehlen wir, den Mindestwert pro Sekunde auf den Spitzenwert pro Sekunde festzulegen, den Sie mindestens 60 Minuten vor dem Spitzenereignis erwarten. Andernfalls kann es bei der Anwendung zu erhöhter Latenz und Drosselung von Anfragen kommen.

Sobald die Aktualisierung des Mindestlimits abgeschlossen ist, beginnt ElastiCache Serverless mit der Berechnung der neuen Mindestanzahl an eCPUs pro Sekunde oder des neuen Mindestspeichers. Dies ist auch dann der Fall, wenn Ihre Anwendung keine Anforderungen im Cache ausführt oder wenn Ihre Datenspeichernutzung unter dem Minimum liegt. Wenn Sie den Mindestgrenzwert gegenüber der aktuellen Einstellung herabsetzen, erfolgt die Aktualisierung sofort, sodass ElastiCache Serverless sofort mit der Messung des neuen Mindestlimits beginnt.

Anmerkung
  • Wenn Sie ein Mindestnutzungslimit festlegen, wird Ihnen dieses Limit in Rechnung gestellt, auch wenn Ihre tatsächliche Nutzung unter dem Mindestnutzungslimit liegt. Für die Nutzung von ECPU oder Datenspeicher, die das Mindestnutzungslimit überschreiten, wird der reguläre Tarif berechnet. Wenn Sie beispielsweise ein Mindestnutzungslimit von 100.000 ECPUS/Sekunde festlegen, werden Ihnen mindestens 1,224 USD pro Stunde berechnet (unter Verwendung der ECPU-Preise in US-East-1), auch wenn Ihre Nutzung unter dem festgelegten Mindestwert liegt.

  • ElastiCache Serverless unterstützt den angeforderten Mindestmaßstab auf aggregierter Ebene im Cache. ElastiCache Serverless unterstützt außerdem maximal 30.000 ECPUs/Sekunde pro Steckplatz (90.000 ECPUS/Sekunde bei Verwendung von Read from Replica mit READONLY-Verbindungen). Als bewährte Methode sollte Ihre Anwendung sicherstellen, dass die Schlüsselverteilung zwischen den Redis OSS-Steckplätzen und der Datenverkehr zwischen den Schlüsseln so einheitlich wie möglich sind.

Skalierungsgrenzen mithilfe der Konsole festlegen und AWS CLI

Skalierungsgrenzen mithilfe der AWS Konsole festlegen

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/.

  2. Wählen Sie im Navigationsbereich die Engine, die in dem Cache ausgeführt wird, den Sie ändern möchten.

  3. Es wird eine Liste der Caches der ausgewählten Engine angezeigt.

  4. Wählen Sie den zu ändernden Cache aus, indem Sie das Optionsfeld links neben dem Cache-Namen anklicken.

  5. Wählen Sie Aktionen und dann Ändern.

  6. Legen Sie unter Nutzungslimits die entsprechenden Speicher - oder Rechenlimits fest.

  7. Klicken Sie auf Änderungen in der Vorschau anzeigen und dann auf Änderungen speichern.

Einstellen von Skalierungsgrenzen mithilfe der AWS CLI

Verwenden Sie die modify-serverless-cache API, um die Skalierungsgrenzen mithilfe der CLI zu ändern.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Entfernen von Skalierungslimits mithilfe der CLI

Um Skalierungsgrenzen mithilfe der CLI zu entfernen, setzen Sie die Parameter Minimal und Maximum auf 0.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'