首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大单片对多片碎片

大单片对多片碎片
EN

Stack Overflow用户
提问于 2018-06-29 10:23:41
回答 2查看 1.8K关注 0票数 1

关于ElasticSearch碎片有两个最佳实践:

  • 每个节点的最优碎片数为1。
  • 碎片的大小最多应该是50 GB。

就我而言,它们有些争议。更具体地说,假设索引大小为2TB,并且有10个节点。我应该配置多少个碎片:

选项1: 10片,每个200 10

选项2: 40个碎片,每个50 40

查询延迟性能的更好选择是哪一种?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-29 11:13:30

在理论上,任何被认为是“最优”的东西通常都是最优的,在实践中,你需要做出一些权衡。大多数情况下,您肯定希望每个主碎片至少有一个副本(容错),因此每个节点至少有两个碎片(除非每个主碎片@400 to )。关于乐观,让我们脚踏实地.

您没有提到每个节点堆的数量,但是由于您不应该超过每个节点的30.5GB堆限制,所以您应该清楚地倾向于拥有最多~50 at数据的碎片。50 shards @40 50也能工作。

我不会尝试200‘s的碎片,因为那可能太大了。我也不会尝试拥有10002GB的碎片,因为碎片太多了。

最终,这取决于您的用例和硬件。您的索引正在经历沉重的搜索负荷,还是主要处理索引请求?集群需要处理多少并发搜索/索引请求?最好的方法是测试所有这些,但是如果没有更多的信息,第二种选择显然比第一种更好。不要忘记,您可能也需要每个主碎片一个副本,这将使您的存储需要加倍(即每个节点400‘t)

票数 2
EN

Stack Overflow用户

发布于 2018-06-29 14:19:58

添加到Val的答案:更多的碎片允许更平滑的碎片分发,以防您想要添加节点以获得更好的性能。10个节点上的10个碎片不允许将碎片分发到其他节点。40个碎片可以通过更多的节点轻松地扩展。

此外,如果磁盘空间变得紧凑,较小的碎片可能仍然允许Elasticsearch来回移动碎片,因为它至少需要一个碎片才能做任何事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51099608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档