10.2.3 複数のキャッシュを使用する場合の注意点
複数のキャッシュを使用する場合,次に示す点に注意してください。
-
キャッシュ単位にできる操作が限られているため,キャッシュ単位でのきめ細かな運用ができません。
-
キャッシュに関連した各種リソースが増加します。
-
1つのプロセスが使用するJavaヒープが大きくなるため,GCによる性能の問題が発生しやすくなります。
使用するキャッシュ数が多い場合は,次に示す方法でキャッシュ数を減らすことができます。
-
1つのクラスタ内でキャッシュを分けるのではなく,クラスタ自体を分ける。
-
異なるデータで同じkey名を使うときに,複数のキャッシュを使用するのではなく,複数のグループを使用する。
- 参考
-
きめ細かな運用ができない例を次に示します。
EADSでは,キャッシュ単位に操作できるコマンドは,データ操作(eztool putなど)やユーザファンクション(eztool listfuncなど)に限られています。
例えば,キャッシュ単位で閉塞状態にする(eztool close)/閉塞状態を解除する(eztool open)操作や,データを書き出す(eztool export)/データを読み込む(eztool import)操作はできません。そのため,2つのキャッシュ(キャッシュ1,キャッシュ2)がある場合,次のようにキャッシュ単位で運用を分けられません。
-
eztool exportコマンドを実行して,キャッシュ1だけ,データのバックアップを取得する。
-
eztool closeコマンドを実行して,キャッシュ2だけを閉塞状態にすることで,クライアントからのリクエストを止める。
また,キャッシュ単位の設定ができるパラメタは,キャッシュ定義ファイルに指定できるパラメタだけです。そのため,次のような設定はできません。
-
データの多重度(eads.replication.factor)をキャッシュ単位で変える。
-
格納できるkeyの最大サイズ(eads.cache.key.maxsize)をキャッシュ単位で変える。
-