Redis バックアップ (.rdb) ファイルが ElastiCache クラスターの BytesUsedForCache メトリクスより常に小さいのはなぜですか?

最終更新日: 2020 年 1 月 7 日

Amazon ElastiCache for Redis を使用しています。Redis バックアップ (.rdb) ファイルが常にクラスターの BytesUsedForCache メトリクスより小さいのはなぜですか?

解決方法

BytesUsedForCache メトリクスには、実際のキーサイズ、ヘッダー、メモリの断片化など、すべての目的のバイトが含まれます。また、有効期限が切れたキーも、Redis が受動的または能動的に非同期で削除するまでメモリを消費します。詳細については、Redis.io ウェブサイトの Expire key seconds - How Redis expires keys を参照してください。

ElastiCache は、分岐ありと分岐なしの両方のバックアッププロセスを使用します。どちらのプロセスも、ディスクにすべてのキーをダンプして .rdb ファイルを作成します。.rdb ファイルは、ポインタや期限切れのキーを使用せず、メモリの断片化、メタデータ、バッファを処理しません。つまり、バックアップファイルのサイズは BytesUsedForCache メトリクスよりも小さくなります。たとえば、Redis クラスターで BytesUsedforCache が 15 GiB と表示され、クラスターで大量の読み取り/書き込みリクエストが発生している間にバックアップが開始されたことが表示される場合があります。バックアッププロセスが正常に完了すると、バックアップキャッシュのサイズは 15 GiB ではなく 10 GiB~12 GiB になることがあります。これは、バックアップに期限切れのキーやポインタなどが含まれていないためです。


この記事は役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合