Wie behebe ich Probleme mit meiner Redis-Backup-Datei (.rdb), die kleiner ist als die BytesUsedForCache-Metrik in meinem selbst entworfenen ElastiCache-for-Redis-Cluster?

Lesedauer: 2 Minute
0

Ich möchte Fehler in meiner Redis-Backup-Datei (.rdb) beheben, die kleiner ist als die BytesUsedForCache-Metrik in meinem selbst entworfenen ElastiCache-for-Redis-Cluster.

Lösung

Die BytesUsedForCache-Metrik umfasst Byte für alle Zwecke, wie z. B. die tatsächliche Schlüsselgröße, Header und Speicherfragmentierung. Zudem verbrauchen abgelaufene Schlüssel ebenfalls Speicherplatz, bis Redis sie asynchron entfernt, entweder passiv oder aktiv. Weitere Informationen finden Sie unter EXPIRE auf der Redis-Website.

ElastiCache verwendet Fork- und Forkless-Backup-Prozesse, die alle Schlüssel auf der Festplatte speichern, um Ihre RDB-Datei zu erstellen. Ihre RDB-Datei ist möglicherweise kleiner als die BytesUsedForCache-Metrik, weil sie keine Zeiger oder abgelaufenen Schlüssel verwendet. Die Datei enthält außerdem keine Speicherfragmentierung, Metadaten und Puffer.

Angenommen, Ihr Redis-Cluster zeigt BytesUsedForCache als 15 GiB an. Wenn Ihr Backup initiiert wurde, während umfangreiche Lese- und Schreibanforderungen vorhanden waren, kann die Cachegröße zwischen 10 GiB und 12 GiB liegen. Grund dafür ist, dass das Backup keine abgelaufenen Schlüssel, Zeiger, Speicherfragmentierung, Metadaten und Puffer enthält.

Verwenden Sie die Befehle Keyspace oder DBSIZE von Redis, um die Datenintegrität Ihres Backups zu bestätigen. Weitere Informationen finden Sie unter Keyspace und DBSIZE auf der Redis-Website. Vergleichen Sie die Anzahl der Schlüssel im ursprünglichen und im wiederhergestellten Cluster mit der RDB-Datei. Stellen Sie sicher, dass zwischen der Erstellung des Snapshots und der Wiederherstellung keine Schlüssel-Aktionen zum Einfügen, Löschen oder Bereinigen stattgefunden haben. Weitere Informationen finden Sie unter Why does my replica have a different number of keys than its master instance? auf der Redis-Website.

Hinweis: Die Cachegröße in ElastiCache-Backups basiert auf dem used_memory-Parameter von Redis zum Zeitpunkt des Snapshots. Diese Größe ist eine Schätzung der unkomprimierten Cachegröße. Weitere Informationen finden Sie unter INFO auf der Redis-Website. Wenn Sie einen Backup-Snapshot nach Amazon Simple Storage Service (Amazon S3) exportieren, wird die komprimierte serialisierte Dateigröße exportiert.

Verwandte Informationen

Snapshot and restore

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr