【问题标题】:Reindex on elastic search taking long time重新索引弹性搜索需要很长时间
【发布时间】:2020-12-13 10:40:57
【问题描述】:

这是场景: 在 Index1 中,我有超过 60 00000 条记录,在同一个索引中,我以每秒 630 条记录的速度放置数据,然后我创建了另一个索引 Index2 并根据本文档启动了重新索引: https://www.elastic.co/guide/en/elasticsearch/reference/6.8/docs-reindex.html

在新索引中传输 1000 条记录需要 40 多分钟,但如果我根本不做 put,那么相同的重新索引需要 5 分钟。

即使我以每秒 600 条记录的速度放置数据,有没有一种方法可以更快地重新索引,以及为什么需要这么长时间 我正在使用 AWS 弹性搜索 7.7 版,m4.large.elasticsearch 2 个节点

【问题讨论】:

  • 已经有一段时间了,如果您可以投票并接受有用的答案,那就太好了,TIA :)

标签: elasticsearch aws-elasticsearch


【解决方案1】:

Elastic 的读取速度,尤其是写入速度,主要受限于底层存储的 I/O 限制。如果您停止索引,重新索引将加快速度,因为有更多 IOPS 和带宽可用于重新索引。

尝试使用 SSD 或 NVMe-SSD 的速度更快的磁盘,并防止 network-attached (ESB) storage 支持 instance storage volumes,至少 provision 所需的 IOPS + 所选存储中的带宽。

【讨论】:

    【解决方案2】:

    由于索引缓慢,ibexit 可能是正确的。您的硬盘有问题。

    但它们也是一些可以节省您一些时间的最佳实践。 第一个建议是禁用副本并在目标索引上刷新索引时间。 并在完成后重新启用它。 index.number_of_replicas:0 index.refresh_interval: -1

    您可以在这里阅读一篇非常好的文章: https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html

    【讨论】:

      【解决方案3】:

      除了@Ibexit 和@Jay 的回答之外,还想强调可能有多种导致速度缓慢的原因,这可能是由于 ES 设置和您正在使用的应用程序(以及您使用的方式)重新索引数据。

      我写了一篇博客,涵盖了 ES 和应用程序方面的问题,并重点介绍了改进 specifically re-indexing performance 的简短提示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多