java - SOLR documentCache JMX 指标说明
问题描述
我正在尝试了解 SOLR 中缓存的 JMX 数据-
据我了解,“大小”属性表示以 KB 为单位的缓存大小 [参考本文档 - https://lucene.apache.org/solr/guide/7_0/performance-statistics-reference.html#statistics-for-缓存] 。
{
"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。为什么?
解决方案
当打开一个新的搜索器时,缓存的内容会被删除——通常是在提交或优化发生时(基础索引已更改并且您希望这些更改可见)。
insert
、等中的值hits
会针对该特定搜索者进行跟踪。在您的示例中,大小当前为 30 - 并且有 30 次插入 - 因此由于溢出,缓存中没有任何内容被清除。配置中给出的大小是缓存将容纳的最大项目数,而 JMX stat 中的数字是缓存的实际大小。由于您有0
字段hits
等,因此此缓存从未有过任何体面的用途,因为到目前为止,每个请求都导致插入而不是从缓存中返回查找。
自节点启动以来跟踪cumulative_
值- 不仅针对当前索引搜索器。
您的命中率相当低,可能是因为搜索器过于频繁地关闭和重新打开,缓存无法产生任何实际效果。
推荐阅读
- reporting-services - 为什么 RDLC 本地报表图表与 RDL(SSRS) 有不同的图形?
- c - 是否有类似 switch 的关键字可以接受字符串(char *)而不仅仅是 char?
- junit - 为什么在 JUnit 或 Android 测试用例中使用名称“断言”?
- git - 使用自定义 ssh 密钥从 gitlab 克隆存储库?
- ckeditor - CKEditor 4.13 - 样式(div.xyz)来自哪个核心或插件?
- rally - 具有深度导出的 Rally 自定义列表问题(错误)
- python - 如何在python中创建对象数组
- java - 为什么对象引用的行为不同?
- r - 使用 tidyr::pivot_longer 为列表中的列分配不同的名称,并将它们组合起来
- python - 如何在执行之前从 python 创建 terraform backend.tf 文件以消除插值状态文件问题