次の状況で「maxmemory」の安全な設定を見つけようとしています。
- 書き込みの多いアプリケーション
- 8GBのRAM
- 他のプロセスが約1GBを占めると仮定しましょう
- これは、redis プロセスのメモリ使用量が 7GB を超えないことを意味します
- 次の理由により、BGSAVE イベントごとにメモリ使用量が 2 倍になります。
redisドキュメントでは、BGSAVE イベントで増加するメモリ使用量について次のように述べられています。
非常に書き込みの多いアプリケーションで Redis を使用している場合、RDB ファイルをディスクに保存したり、AOF ログを書き換えたりしている間、Redis は通常使用されるメモリの最大 2 倍を使用する可能性があります。
- maxmemory 制限は、redis-cli INFO の「used_memory」と大まかに比較され (ここで説明されているように)、redis によって使用される他のメモリは考慮されません。
この状況では、maxmemory 設定を (8GB - 1GB) / 2 = 3.5GB 以下に設定する必要があるということでよろしいですか?
もしそうなら、これをより明確に反映するために、redis ドキュメントのプル リクエストを作成します。