我正在尝试了解 SOLR 中缓存的 JMX 数据 -
根据我的理解,“size”属性表示缓存的大小(以 KB 为单位)[引用此文档 - https://lucene.apache.org/solr/guide/7_0/performance-statistics-reference.html#statistics-for-caches ]。
{
"CACHE.searcher.documentCache":{
"lookups":0,
"hits":0,
"cumulative_evictions":0,
"size":30,
"hitratio":0.0,
"evictions":0,
"cumulative_lookups":370080,
"cumulative_hitratio":0.09,
"warmupTime":0,
"inserts":30,
"cumulative_inserts":337571,
"cumulative_hits":32509}}
并且在配置中,size参数是可以缓存的最大文档数量[引用此-https://lucene.apache.org/solr/guide/7_0/query-settings-in-solrconfig.html#documentcache ]。
<documentCache class="solr.LRUCache"
size="15000"
initialSize="512"
autowarmCount="100"/>
这两个假设都是真的吗?
另外,为什么我当前的搜索器文档缓存大小这么小?我可以看到有很多插入,但尺寸只有 30。为什么?
最佳答案
当打开新的搜索器时,缓存的内容将被删除 - 通常是在发生提交或优化时(底层索引已更改并且您希望这些更改可见)。
针对该特定搜索者跟踪插入
、点击
等中的值。在您的示例中,当前大小为 30 - 并且已进行 30 次插入 - 因此由于溢出而没有从缓存中删除任何内容。配置中给出的大小是缓存将保存的最大项目数,而 JMX 统计信息中的数字是缓存的实际大小。由于您在 hits
字段中有 0
等,因此该缓存从未有过任何体面的用途,因为到目前为止每个请求都会导致插入而不是返回查找缓存。
cumulative_
值 are tracked since the node was started - 不仅适用于当前索引搜索器。
命中率相当低,可能是因为搜索器关闭和重新打开过于频繁,缓存无法产生任何实际效果。
关于java - SOLR documentCache JMX 指标澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771121/