elasticsearch - Elasticsearch 最佳分片计数
问题描述
我有一个包含 2.3TB 数据的集群。不断访问/删除/添加数据。
目前基础设施很紧张,所以我正在研究优化。100个碎片太多了。
我看到每个分片 30GB 应该是最大的答案,然后我听说“每个节点应该只有 3 个分片”。我目前在 4 个节点上。这个可以顶一下。
那么我应该继续使用 100 个分片(这使得每个分片 20-25GB)还是应该将索引缩小到 12 个分片(3 个分片 x 4 个节点)?
在这种情况下,最佳做法是什么?保持速度。
解决方案
您说得对,分片和副本在搜索和索引以及 Elasticsearch 的整体性能中起着非常重要的作用,但是您缺少一些重要的概念,这些概念在opster 的分片和副本指南中有详细介绍。
这应该有助于确定根本原因,并让您深入了解如何提高 Elasticsearch 集群的性能。
此外,您的陈述您应该每个节点只有 3 个分片是不正确的,两种最佳实践都是有一个分片大小 b/w 30-50 GB,并且节点中的分片数量取决于 Elasticsearch 进程的 JVM 及其大小和你的用例。
推荐阅读
- typescript - removeUndefined 方法应该有什么类型的签名?
- c++ - 如何在 Vulkan 中子分配缓冲区
- python - 文档相似度的文档嵌入模型
- macos - MacOS:尝试更新到 Cocoapods 1.10.0
- powershell - 如何通过 PowerShell 确认 TLS 1.2 在操作系统上可用?
- javascript - 在 D3 树布局中使用多种链接类型
- r - 使用 lubridate 和管道将日期转换为年月日
- php - 如何在 Drupal 8 中设置会话变量并在 php 脚本中获取它?
- c# - 将用户信息存储到数组中以在 switch 语句中使用
- javascript - JavascriptException:消息:javascript 错误:无法读取通过 Python Selenium 执行 JavaScript 的未定义错误的属性“单击”