SOLR documentCache JMX指标说明

时间:2018-12-13 22:43:39

标签: java solr lucene

我试图了解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"/>  

这些假设都是正确的吗?

为什么我当前的搜索器documentCache这么小?我可以看到有很多插入物,但是尺寸只有30个。为什么?

1 个答案:

答案 0 :(得分:1)

打开新的搜索器时,缓存的内容将被清除-通常是在提交或优化(底层索引已更改并且您希望这些更改可见)发生时。

为此特定搜索者跟踪inserthits等中的值。在您的示例中,当前大小为30(并且有30个插入),因此由于溢出,没有任何内容从缓存中删除。配置中给出的大小是缓存将容纳的最大项目数,而JMX统计信息中的数字是缓存的 actual 实际大小。由于您在0字段中有hits等,因此该缓存从未有过任何用处,因为到目前为止,每个请求都导致插入,而不是从缓存中返回查找。

cumulative_are tracked since the node was started-不仅适用于当前索引搜索器。

您的命中率很小,可能是因为搜索器被关闭和重新打开的频率太高,以至于缓存无法产生任何实际效果。