很多同学在搭建Elasticsearch的时候几乎都是最简单的配置,因为业务初期的时候,elasticsearch的业务不多,也不需要很高的配置。待业务上线上,根据业务的实际情况,积累的数据越来越多,查询和索引的频率越来越高,就需要正视下线上的elasticsearch的集群规划了。
今天给大家分享一个案例,也是大家会经常遇到的情况。例如:线上部署了一个3个节点的elasticsearch集群,在业务的非高峰期,从监控看来,整个集群的资源暂用非常的高,这个是不是正常情况呢?需要怎么处理呢?下面就来给大家分析一下。
问题分析:
在elasticsearch的每一个分片上,即使不用他也会占据一定的cpu和内存资源。在业务非高峰期,那也就是没有太多的查询和索引。所以这里的核心点主要就是index里面的每一个shard分片占据了大量的服务器资源。
解决思路:
1、查看index下面的分片是否过多,我们一般确保每一个shard分片分配512m-1G的堆内存即可。如果index下面数据不多,设计的分片很多的话,那就直接考虑缩小分片数,从新进行索引数据。
2、如果当前分片里面的数据很多都过时了,不需要在查询的时候进行过滤,那么考虑下集群的冷热架构,把过时的数据切换到冷备份节点去。
以上就是elasticsearch在业务非高峰期,服务器资源占用高的情况下如何排查问题,解决问题
还没有评论,来说两句吧...