集群四个节点,写入量比较大,最近发现上游数据有堆积,看了下集群cpu也不是很高,负载有一个机器有点高,bulk队列有点堵,其他节点看上去都很正常,上游写的速度偏慢。看了下es的健康状况,压力大的机器gc稍微快一点(3分钟一次 一次1s左右),我删掉了一部分数据,gc后内存下来许多,这时发现其他机器load也慢慢提上来了。
很不理解这是为什么,load稍微高的机器也没有达到压力非常大的程度(除了 bulk队列堆积了一百多任务,因为写入很快所以长时间堆积一百多),仅仅是删除了些索引把内存降下来了,集群负载反而平衡了,我的es是2.2版本的,请问这是什么情况呢
很不理解这是为什么,load稍微高的机器也没有达到压力非常大的程度(除了 bulk队列堆积了一百多任务,因为写入很快所以长时间堆积一百多),仅仅是删除了些索引把内存降下来了,集群负载反而平衡了,我的es是2.2版本的,请问这是什么情况呢
2 个回复
JackGe
赞同来自:
我觉得造成这个现象的原因是数据写入会占用内存,参数为indices.memory.index_buffer_size,默认为节点jvm的10%,当节点内存不足时,写入速度会下降。
zqc0512 - andy zhou
赞同来自: