最近,我观察到一个具有很多分片的单节点集群(es 6.2.4)。 我知道这是一种不良做法,并且我建议相关方更改其弹性方式, 但出于好奇,如果有人能解释我所见,我将不胜感激。
节点规格:4核,32GB,用于ES堆的16GB。 集群中的分片数量:600个索引中的14,000个。 文件总数:45亿 总大小:700GB
重新启动节点时,我发现ES的分片加载率一直在降低,而节点的cpu使用率则一直在增加,利用率从〜40%开始,平均很快达到90%以上。
此外,即使所有分片的加载完成并且群集变为绿色,CPU使用率也没有显着降低。
我认为堆内存不是问题,因为我观察到了标准的拼图模式。旧的gen集合不多,并且在旧的gen集合之后,堆减少到了大约8GB(总共16 GB)。年轻一代的收藏更为普遍(大约每秒5个)。
即使在加载所有分片之后,ES仍在做某些昂贵的事情。