代码之家  ›  专栏  ›  技术社区  ›  zhuguowei

当更新许多文档时如何避免TOO_many_REQUESTS问题

  •  0
  • zhuguowei  · 技术社区  · 3 年前

    有一个大索引,最近完全更新了此索引以添加一些新字段

    health status index               uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   company             KTngnM6ASD-_KdU0FFAWRA   1   0   96008284      3662063     33.6gb         33.6gb
    

    前20个线程并发批量索引,每个线程200条记录,使用了2天,但有31712850条记录更新失败,

    id: 20078928430 opType: UPDATE status: TOO_MANY_REQUESTS
    

    然后只更新了这些失败的记录,这次使用了10个线程,但这次仍然存在同样的问题,更新了103800条记录失败,然后不得不再次更新这些记录。

    那么想知道如何避免在更新多条记录的同时花费较少时间的问题吗?

    0 回复  |  直到 3 年前
        1
  •  0
  •   ilvar    3 年前

    使用重索引时,您可能需要 optimize for indexing speed 并可能根据您的集群进行基准测试以找出最佳 体积大小 并发 -具体的数字将取决于集群和映射的配置(一些功能,如n-gram,在索引时开销非常大)。此外,您可能需要监控 thread pool usage 以便及早发现问题。