在我预热缓存时有很多磁盘活动。我无法确定 org.apache.lucene ConcurrentLRUCache 是否正在执行此操作?(有问题的类使用 Java ConcurrentHashMap)。
蒂亚雷内
在我预热缓存时有很多磁盘活动。我无法确定 org.apache.lucene ConcurrentLRUCache 是否正在执行此操作?(有问题的类使用 Java ConcurrentHashMap)。
蒂亚雷内
我想说最可能的原因是预热导致大量缓存未命中,这导致 Lucene 对其磁盘索引等进行大量查询。换句话说,你得到了你所要求的。
数据点:
Java 类ConcurrentHashMap
不接触磁盘。
Lucene 类的源代码在这里(例如),它没有引用任何可能显式导致磁盘活动的类......除了 sfl4j 日志记录。
“预热”期间磁盘活动的其他可能原因可能包括:
理论上有可能 Lucene 会持久化整个缓存,而 Lucene 正在加载序列化的缓存。然而,这听起来是一个可怕的想法,我已经准备好放弃它了。(此外,这会导致相对少量的磁盘活动。)