私は BigMemory Go で Ehcache を使用し、6 つのキャッシュ用のローカルで再起動可能な永続ディスクストアを使用しています。各キャッシュのキャッシュ構成は、それぞれ次のとおりです。
<cache name="CacheService"
maxElementsInMemory="200000"
eternal="false"
timeToLiveSeconds="86400"
statistics="true">
<persistence strategy="localRestartable"/>
<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
</cache>
プロファイリングから、すべてのキャッシュのメモリ内サイズの合計が 1GB 未満であることがわかっています。それでも、永続ディスクストアは現在、約 27GB のディスク容量を使用しています。27GB は、サイズが ~514MB の多数の seg*.frs ファイルで構成されています。これらのファイルは毎分作成され、ロールフォワードされてから 60 分以上古いファイルが削除されているようです。
-rw-r--r-- 1 jboss jboss 0 Nov 14 10:29 frs.backup.lck
-rw-r--r-- 1 jboss jboss 0 Nov 10 09:02 FRS.lck
-rw-r--r-- 1 jboss jboss 514M Nov 14 09:22 seg000013456.frs
-rw-r--r-- 1 jboss jboss 514M Nov 14 09:23 seg000013457.frs
-rw-r--r-- 1 jboss jboss 513M Nov 14 09:23 seg000013458.frs
...
-rw-r--r-- 1 jboss jboss 514M Nov 14 10:23 seg000013504.frs
-rw-r--r-- 1 jboss jboss 344M Nov 14 10:29 seg000013505.frs
私の質問は次のとおりです。
- これはディスクストアの予想される動作ですか? それとも、大量のセグメントを生成するキャッシュ/キャッシュ要素に問題がありますか?
- ディスク上に保持されるセグメントの数を制限する方法/構成はありますか?
- または、同様に 60 分のウィンドウを減らして、ファイルをより頻繁に削除しますか?