Making the best use of caches

Es可以用廉价的硬件资源和毫秒级的速度搜索数亿的文档,其中优秀的缓存机制起了一定的作用。

三个缓存点:1. 过滤器缓存

            2. 分片的查询缓存,运行聚合操作在静态索引

                3. 操作系统缓存,保证I/O高性能传输

设置查询预处理:index warmers

 

Filters and filter caches

通过_cache字段控制过滤器缓存:true/false

 

小贴士:不是所有的过滤器会用_cache控制缓存

过滤器的缓存会被所有的节点共享:当前集群的设置是30%,超过的会采用least recently used (LRU)淘汰。

但是会遇到这样的性能瓶颈,一个查询被缓存了,但是查询一次之后就没有被使用了,而缓存会一直存在直到到达30%的限制之后,就会被释放,这样好吗?肯定是不好的,当查询缓存被使用完了,每一个搜索都会消耗cpu的资源来使旧的缓存被释放从而存放新的缓存条目。

所以为了使得ElasticSearch变得聪明一些,我们设置了缓存失效时间,根据实际需要设置,例如:30分钟。

他们紧凑和易于创建,所以创建缓存的开销过滤器是首次运行时微不足道

重复利用

Bitset之间可以很容易的进行组合,ElasticSearch也可以很容易的得到bitset组合的结果。

过滤器缓存形式有三种:bitset,cache the overall results,field data

Field data 在排序和聚合的时候会使用,term 和range过滤器查询也会使用到。

 

 

 

 

 

 

转载于:https://my.oschina.net/u/2526410/blog/715998

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值