为什么弹性搜索集群规模存在不均衡的CPU使用率?

时间:2015-05-16 23:17:38

标签: amazon-ec2 elasticsearch

我有一个15节点的elasticsearch集群,并且正在索引很多文档。这些文件的格式为{" message":"一些句子" }。当我有一个9节点集群时,我可以在所有节点上获得高达80%的CPU利用率,当我将其转换为15节点集群时,我在4个节点上获得90%的CPU使用率,而其余节点只有约50%。

群集的规范是:

15个节点c4.2xlarge EC2 insatnces

15个碎片,没有复制品

所有实例前面都有负载均衡器,并且通过负载均衡器访问实例。

Marvel正在运行并用于监控群集

刷新间隔1s

我可以在9个节点上索引50k docs / sec,在15个节点上只能索引70k docs / sec。难道我不能做更多吗?

1 个答案:

答案 0 :(得分:0)

我还不是ES中可扩展性和负载平衡方面的专家,但有些事情需要考虑:

  • 负载均衡应该是ES中的本机,因此在前面具有负载均衡器实际上可以减轻内部负载平衡结果。它有点像对你的汽车有速度限制,但是手动使用制动器,它没有那么大的意义,因为你的速度限制器应该已经完成​​了工作,并且当你在输入"手动调节"。您是否尝试过不使用负载均衡器并仅使用本机负载均衡来查看其运行情况?
  • 虽然在不同的服务器/分片上拥有更多的CPU /计算能力,但它也会强制您在每次写入/读取文档时都经过多个分片,因此如果1个分片可以进行N次计算,则M分片不会胜出实际上能够进行M * N计算
  • 在很多情况下,有15个碎片可能有点过分
  • 有15个分片,但没有复制是奇怪/坏的,因为如果你的15个服务器中的任何一个服务器掉落,你将无法访问整个索引
  • 您实际上可以在一台服务器上保存多个节点

存储方面的索引大小是多少?