elasticsearch,buffer,Performance,Indexing,elasticsearch,Buffer" /> elasticsearch,buffer,Performance,Indexing,elasticsearch,Buffer" />

Performance ElasticSearch-将只读设置为索引可提高性能?

Performance ElasticSearch-将只读设置为索引可提高性能?,performance,indexing,elasticsearch,buffer,Performance,Indexing,elasticsearch,Buffer,我有这样一个场景,系统每天在一个节点内生成一个索引。每个索引有一个主分片 因此,一天中索引的所有文档都会转到某个索引,在一天过去后,会创建一个新索引 我保留了过去60天的索引(这意味着我在节点中总是有60个碎片)。我无法关闭旧索引,因为我希望它们支持搜索。60天后,我删除了它们 在阅读以下内容时,我注意到有关索引缓冲区的这一点: 它默认为10%,这意味着分配给节点的总内存的10%将用作索引缓冲区大小。然后将该数量分配给所有不同的碎片 这意味着对于当天的索引,我有10%/60的缓冲区索引内存。所以

我有这样一个场景,系统每天在一个节点内生成一个索引。每个索引有一个主分片

因此,一天中索引的所有文档都会转到某个索引,在一天过去后,会创建一个新索引

我保留了过去60天的索引(这意味着我在节点中总是有60个碎片)。我无法关闭旧索引,因为我希望它们支持搜索。60天后,我删除了它们

在阅读以下内容时,我注意到有关索引缓冲区的这一点:

它默认为10%,这意味着分配给节点的总内存的10%将用作索引缓冲区大小。然后将该数量分配给所有不同的碎片

这意味着对于当天的索引,我有10%/60的缓冲区索引内存。所以我不是真的用10%

问题是,如果我

index.blocks.read_只读 设置为true可使索引和索引元数据为只读,设置为false可允许写入和元数据更改

我会看到这样做的好处吗?比如在我唯一的可写索引中有整个10%的索引缓冲区?或者改进其他索引的搜索,因为它们可以合并到一个只分段的索引中,因为它们不再接收写入

谢谢

巴勃罗


PD:我使用ElasticSearch 1.7.3,但我期待着将来迁移到2.2。我想知道,如果可能的话,如果我有一个好处,如果这将被翻译成2.2,你不会从添加只读块中得到好处。释放缓冲区的唯一方法是完全关闭索引

此外,您可能有兴趣了解哪些使“主动索引”碎片在缓冲区中占有更大的份额。即将推出Elasticsearch 5.0