【问题标题】:Possible to index 1M docs/sec in ElasticSearch?可以在 ElasticSearch 中索引 1M 文档/秒吗?
【发布时间】:2017-02-20 19:41:21
【问题描述】:

我正在尝试优化 ElasticSearch 中的索引速度,因为我们每小时都在不断地重新索引索引,因此我们能够更快地重新索引我们的数据,我们可以实现的延迟越少。

我看到这篇文章谈到了达到 100K 的重新索引吞吐量:https://thoughts.t37.net/how-we-reindexed-36-billions-documents-in-5-days-within-the-same-elasticsearch-cluster-cd9c054d1db8#.4w3kl9ebf,以及实现更高的 StackOverflow 问题:ElasticSearch - high indexing throughput

我的问题是是否有可能实现每秒 100 万个文档的持续索引吞吐量,如果可以,如何实现?

【问题讨论】:

    标签: elasticsearch lucene elasticsearch-2.0


    【解决方案1】:

    这取决于几个因素,但为什么不可能呢?以下是一些可以加快索引过程的关键因素:

    • 文档大小(越小越快)
    • 内核数量和内存大小(越多越快)
    • 机器数量(越多越快)
    • 副本数(越少越快)

    举个例子,用小文件和一个八核机器,我可以index at about 70k-120k docs/s。再投入一些内核或机器,您可以接近 100 万个文档/秒。


    更新:另一个使用 Elasticsearch 6.1.0 运行的测试,在单个 32 核 E5 上,具有 64G JVM 堆。在这里,esbulk 可以索引大约 330000 文档/秒,使用 10M 大小为 20-40 字节的小文档。


    免责声明:我写了esbulk。 README 包含一些 measurements - 目前最大约为 300k docs/s。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2021-07-19
      相关资源
      最近更新 更多