【问题标题】:ElasticSearch 6.0.1: .../_forcemerge API does not scale with more threads (is throttled?)ElasticSearch 6.0.1:.../_forcemerge API 不能随更多线程扩展(被限制?)
【发布时间】:2019-07-26 19:06:28
【问题描述】:

我正在使用 ES 6.0.1,并且必须对许多索引执行频繁的索引打开/追加/关闭模式,通常来自不同的客户端并行。 (是的,我每次都要打开和关闭)

这会导致每个索引有大量的小型 Lucene 段,并且所提到的序列会随着时间的推移而变慢(有时会慢 2-5 倍)。默认的 ES 段合并策略显然做得不好。

当我使用Force Merge API 合并索引中的段时,我的序列性能恢复到处理索引的正常状态。但是,由于索引数量众多,我必须多次应用它来处理所有索引。自然,我在多个线程(连接)中运行它,但似乎 ES 从不并行此操作,并且合并的结果速率是相同的,无论我发出多少并行请求。

我已经阅读并尝试了来自 here 的内容,但这没有帮助。

有人可以为此建议任何 w/a 吗?

【问题讨论】:

    标签: elasticsearch merge segment throttling


    【解决方案1】:

    您可以通过 elasticsearch 配置文件更改 force_merge 线程池的大小,例如:

    thread_pool.force_merge.size: 5
    

    并且不要忘记在配置更改后重新启动 Elasticsearch。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-14
      • 2012-01-09
      • 1970-01-01
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      相关资源
      最近更新 更多