elasticsearch断路器和限制字段数据缓存
问题描述
线上集群elasticsearch,宿主机内存有28G,分给es集群是14G,使用kibana作为一些基本的图形展示,有用到一些聚合、排序分析。当在kibana中选择的时间范围较大,往往导致es服务直接OOM,然后挂了。为了测试一些参数配置,本机上搭建了一个单实例elasticsearch服务,设置的可用内存设置是-Xms500m
、-Xmx500m
。尝试按照官网限制内存使用提供的方法,做了一些设置,增加了这个配置
indices.fielddata.cache.size: 20%
因为indices.breaker.fielddata.limit
是默认的60%,就没有额外设置。同样的,模拟大时间范围的聚合分析图形展示,OOM然后就挂了。
目前希望可以达到这种效果:1.大的时间范围或者可能耗尽内存的行为,可以禁止掉,最好是es服务端不返回结果,也不能挂;2.es集群可以稳定,不能总是挂。
另外:
(1)看过一些博客:Elasticsearch 内存那点事是增大内存,但是这个方案无法彻底解决问题。
(2)在聚合操作时候,尽量优化,分桶聚合操作,尽量数据切片,划分多个时间段,这个可以的,但是会增加查看的麻烦。
(3)https://www.elastic.co/guide/...,这里有一些性能建议,我要的是稳定性,对于性能上没有要求。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论