关于elasticsearch缓存命中机制的奇怪问题。

Elasticsearch | 作者 th | 发布于2018年12月27日 | 阅读数:421

运行环境:windows 10
elasticsearch版本:6.5.4
 
单节点、单索引、多分片。索引段合并前,使用filter  match_phrase或range查询,所有分片均会命中缓存。
手动将每个分片的segments合并成1个后,使用filter  match_phrase或range查询,大概率只有1-X个分片命中缓存。

这个是BUG还是我操作问题呢?求大神解答。
测试图(单节点单索引6分片)如下:
1.合并segments前,filter  match_phrase和range所有分片均命中缓存(通过hit_count确认)

1.png


2.png



2.合并segments后,filter  match_phrase和range所有分片均只命中1-X个缓存 (通过hit_count确认)

3.png


4.png

 
已邀请:

fanmo3yuan

赞同来自:

可以多几次查询后使用 GET _stats/query_cache 来确认一下,单靠时间和count应该是不够客观的吧

medcl - 今晚打老虎。

赞同来自:

你是说分片合并之后的,和合并之前的查询比,没有命中缓存,还是合并之后,再测试的后续的多次重复的请求?

要回复问题请先登录注册