2.5. エビクションによる JVM メモリー管理
RAM はコストの高いリソースで、通常、利用できる量に限りがあります。Data Grid を使用すると、メモリーからエントリーを削除することで、頻繁に使用されるデータを優先するように、メモリー使用量を管理できます。
- エビクション
- Data Grid がメモリー内に維持し、各ノードに対して有効になるデータ量を制御します。
エビクションは、以下で Data Grid のキャッシュをバインドします。
- エントリーの合計数 (最大数)。
- JVM メモリーサイズ (最大サイズ)
Data Grid は、ノードごとにエントリーをエビクトします。すべてのノードが同じエントリーをエビクトしないため、永続ストレージでエビクションを使用して、データの不整合を回避する必要があります。
エビクションからパフォーマンスへの影響は、キャッシュのサイズが設定したしきい値に到達すると Data Grid が算出する必要のある追加の処理内容からきています。
エビクションは読み取り操作の速度を低下させることもできます。たとえば、読み取り操作がキャッシュストアからエントリーを取得する場合に、Data Grid はそのエントリーをメモリーに送り、別のエントリーをエビクトします。このエビクションプロセスでは、パッシベーションを使用する場合に、新たにエビクトされたエントリーをキャッシュストアに書き込むことができます。これが発生すると、読み取り操作はエビクションプロセスが完了するまで値を返しません。