elasticsearch 节点上的高 CPU 使用率

High CPU usage on elasticsearch nodes

我们一直在 docker 容器中使用 3 节点 Elasticsearch(7.6v) 集群 运行。我在 2 个节点 (97%) 上遇到了非常高的 cpu 使用率,在另一个节点 (55%) 上遇到了中等 CPU 负载。使用的硬件是 m5 xlarge 服务器。 有 5 个索引,6 个分片和 1 个副本。即使更新单个字段,更新操作也需要大约 10 秒。类似的情况是删除。但是查询速度非常快。这是因为 CPU 负载高吗? 5 个索引中有 2 个在从 kafka 流中侦听时不断进行更新和写入操作。索引的大小为 15GB、2Gb,其余的大约为 100MB。

您需要提供更多信息才能找到根本原因:

  1. 所有ES节点运行在不同的docker容器在同一主机还是不同主机?
  2. 你的 ES docker 容器有资源限制吗?
  3. ES 的堆大小是多少,是主机 RAM 的 50%?
  4. 具有高 CPU 的节点拥有您提到的 2 个写入重索引?
  5. 接收高索引请求的索引的刷新间隔是多少。
  6. 您的 15 GB 索引的段大小是多少,请使用 https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-segments.html 获取此信息。

到目前为止你都调试了什么?有什么有趣的信息要分享以找出问题吗?