繁体   English   中英

无论如何检查当前批量队列大小 Opensearch?

[英]Is there anyway to check current bulk queue size Opensearch?

我的 Opensearch 在写入数据时有时会出现“429 Too Many Requests”错误。 我知道有一个队列,当队列已满时它会显示该错误。 那么有没有 Api 来检查批量队列状态,当前大小......? 示例:队列 150/200(快满)

可以,您可以使用下面的API拨打

GET _cat/thread_pool?v

你会得到类似这样的东西,你可以在其中看到节点名称、线程池名称(查找write )、当前正在执行的活动请求数、队列中等待的请求数以及最后被拒绝的请求数.

node_name       name   active queue rejected
node01          search      0     0        0
node01          write       8     2        0

写入队列可以处理与1 + number of CPUs请求,即可以同时激活尽可能多的请求。 如果活动已满并且有新请求进来,它们 go 直接在队列中(默认大小 10000)。 如果 active 和 queue 已满,则请求开始被拒绝。

您的里程可能会有所不同,但在优化时,您正在查看:

  • 保持拒绝为 0
  • 最小化队列中的请求数
  • 确保尽快执行活动请求。

与其增加队列,不如增加 CPU 数量通常更可取。 如果你有大量的摄取管道,添加摄取节点通常是一个好主意,其目标是执行该管道而不是在数据节点上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM