【发布时间】:2016-04-21 03:42:41
【问题描述】:
我的问题主要基于以下文章: https://qbox.io/blog/optimizing-elasticsearch-how-many-shards-per-index
文章建议每个节点不要有多个分片,原因有两个:
- 每个分片本质上都是一个 Lucene 索引,它会消耗文件句柄、内存和 CPU 资源
- 每个搜索请求都会触及索引中每个分片的副本。当分片竞争相同的硬件资源时,会出现争用并降低性能
文章提倡对写入多而读取少的索引使用滚动索引。
问题:
- 如果旧索引保持打开状态,是否会出现 Lucene 索引的资源消耗问题?
- 在涉及多个索引和多个分片的大时间范围内进行搜索时是否会出现争用问题?
- 搜索多个小索引与搜索一个大索引相比如何?
我应该提一下,在我们的特殊情况下,只有一个 ES 节点,但当然普遍适用的答案对 SO 读者更有用。
【问题讨论】:
标签: elasticsearch lucene