View a markdown version of this page

Verwaltung des reservierten Speichers für Valkey und Redis OSS - 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.

Verwaltung des reservierten Speichers für Valkey und Redis OSS

Jeder Hosttyp hat eine bestimmte Speichermenge, die für Valkey und reserviert ist. Redis OSS Dies ist der angegebene Speicher. Der reserved-memory-percent Parameter reserviert einen Teil dieses Speichers für andere Zwecke als Daten:

  • Client-Ausgabepuffer auf Replikaten

  • Speicher geht durch Fragmentierung verloren

  • Copy-on-write Speicher, der von forked bgsave verwendet wird

Der maxmemory Wert entspricht dem angegebenen Speicher abzüglich der Reserve. Bei 13,5 GB angekündigtem Arbeitsspeicher und einer Reserve von 25% sind das maxmemory beispielsweise etwa 10,1 GB.

Wichtig

Die reserved-memory-percent Standardeinstellung ist 25%. Reduzieren Sie diesen Wert nicht. Eine geringere Reserve kann zu Datenverlust führen, insbesondere bei Upgrades oder anderen Änderungen an Ihrem Cluster.

Wie viel Speicher muss reserviert werden

Der reserved-memory-percent Parameter ist standardmäßig auf 25% voreingestellt. Reduzieren Sie diesen Wert nicht. Es gibt jedoch Situationen, in denen Sie von einer Erhöhung der Speicherreserve profitieren können.

Mikro- und kleine Instanzen

Die Mikro- und Small-Instances sind so dimensioniert, dass sie geringe Aktivitäten ohne den Aufwand der Replikation ermöglichen. Um die Betriebssicherheit dieser Instances für Produktionsworkloads zu verbessern, erhöhen Sie die Speicherreserve bei kleinen Instances auf 30% und bei Micro-Instances auf 50%.

Erzwingen eines geforkten Bgsave oder einer vollständigen Synchronisierung

Bei einem herkömmlichen geforkten Bgsave oder einer vollständigen Synchronisierung kann sich die Redis OSS Speicherbelegung je nach Verkehrslast Valkey und Muster verdoppeln (oder mehr). Wenn dies nicht FreeableMemory ausreicht, um einen herkömmlichen Forking-Vorgang auszuführen, wechselt Amazon ElastiCache automatisch zu einem Speichermechanismus ohne Fork. Dieser forklessische Mechanismus benötigt viel weniger Speicher, kann jedoch zu Latenzen bei den Kunden führen — insbesondere bei sehr großen Objekten. key/value Wenn sich diese Latenzen auf Ihren Anwendungsfall auswirken, erhöhen Sie die Speicherreserve, um sicherzustellen, dass genügend Speicherplatz für ein herkömmliches Fork-Save-Verfahren zur Verfügung steht.

Auf Anweisung des Supports AWS

Ungewöhnliche Verkehrsmuster oder Anforderungen können zu besonderen Speicheranforderungen führen. Erhöhen reserved-memory-percent Sie den Betrag auf Anweisung des AWS Supports.

Konfiguration des reservierten Speichers

Der reserved-memory-percent Parameter ist spezifisch für ElastiCache. Es ist nicht Teil des Open-Source-Codes von Valkey oder Redis OSS. Verwenden Sie eine benutzerdefinierte Parametergruppe, um diesen Wert zu ändern. Sie können Standardparametergruppen nicht ändern.

Wenn 25% für Sie funktioniert, sind keine Änderungen erforderlich. Gehen Sie wie folgt vor, um einen anderen Wert zu verwenden.

Um den Prozentwert für den reservierten Arbeitsspeicher zu ändern
  1. Führen Sie den folgenden AWS CLI Befehl aus, um eine benutzerdefinierte Parametergruppe zu erstellen. Stellen Sie die Familie so ein, dass sie Ihrer Engine-Version entspricht. Weitere Informationen zum Erstellen von Parametergruppen finden Sie unterElastiCache Parametergruppe erstellen.

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name my-parameter-group \ --description "Custom reserved memory settings" \ --cache-parameter-group-family redis7

    Sie benötigen nur eine benutzerdefinierte Parametergruppe pro Motorenfamilie. Der Prozentwert funktioniert für alle Knotentypen gleich.

  2. Stellen reserved-memory-percent Sie den gewünschten Wert ein. Weitere Informationen zu Aurora-Parametergruppen finden Sie unter Modifizieren einer ElastiCache Parametergruppe.

    aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name my-parameter-group \ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=30"
  3. Wenden Sie die benutzerdefinierte Parametergruppe auf Ihren Cluster oder Ihre Replikationsgruppe an.

    Führen Sie den folgenden AWS CLI Befehl aus, um einen Cluster zu ändern. Weitere Hinweise zum Ändern von Clustern finden Sie unterEinen ElastiCache Cluster ändern.

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --cache-parameter-group-name my-parameter-group \ --apply-immediately

    Führen Sie den folgenden AWS CLI Befehl aus, um eine Replikationsgruppe zu ändern. Weitere Hinweise zum Ändern von Replikationsgruppen finden Sie unterÄndern einer Replikationsgruppe.

    aws elasticache modify-replication-group \ --replication-group-id my-replication-group \ --cache-parameter-group-name my-parameter-group \ --apply-immediately