gpt4 book ai didi

elasticsearch - 如何最大化 Elasticsearch 集群上的 CPU 内核

转载 作者:行者123 更新时间:2023-11-29 02:48:08 24 4
gpt4 key购买 nike

我必须设置多少个分片和副本才能使用集群中的每个 CPU 核心(我想要 100% 的负载、最快的查询结果)?

我想使用 Elasticsearch 进行聚合。我读到 Elasticsearch 使用多个 cpu 内核,但没有找到关于分片和副本的 cpu 内核的确切细节。

我的观察是,单个分片在查询时不会使用超过 1 个核心/线程(考虑到一次只有一个查询)。对于副本,1 分片索引的查询速度并不快,因为 Elasticsearch 似乎没有使用其他节点来分配分片上的负载。

我的问题(一次一个查询):

  • 一个分片不使用多个 cpu 核心?
  • 分片必须始终被完全扫描,副本不能用于在节点之间分配分片内负载?
  • 最佳性能的公式是 SUM(每个节点的 CPU_CORES)* PRIMARY_SHARDS?

最佳答案

在执行一项操作(索引、搜索、批量索引等)时,节点上的分片使用一个执行线程,即一个 CPU 核心。

如果您在给定时刻运行一个查询,则每个分片将使用一个 CPU 核心。例如,一个单索引的三节点集群有 6 个主分片和一个副本,总共有 12 个分片,每个节点有 4 个分片。

如果集群上只有一个查询在运行,对于那个索引,ES 将查询索引的所有 6 个分片(无论它们是主分片还是副本分片),每个节点将使用 0 到 4 个 CPU 内核用于作业,因为 ES 使用循环算法选择哪个分片副本执行搜索可以选择一个节点上没有分片或一个节点上最多 4 个分片。

关于elasticsearch - 如何最大化 Elasticsearch 集群上的 CPU 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33611302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com