我的Opensearch在写数据时有时会遇到错误“429太多请求”。我知道有一个队列,当队列满了的时候它会显示那个错误。那么有没有API来检查批量队列的状态,当前的大小...?示例:队列150/200(接近满)
fnatzsnv1#
可以,您可以使用以下API调用
GET _cat/thread_pool?v
您将得到如下所示的内容,其中可以看到节点名、线程池名(查找write)、当前正在执行的活动请求数、队列中等待的请求数以及最后被拒绝的请求数。
write
node_name name active queue rejected node01 search 0 0 0 node01 write 8 2 0
写入队列可以处理1 + number of CPUs个请求,即同时处于活动状态的请求数。如果活动队列已满且有新请求进入,则这些请求将直接进入队列(默认大小为10000)。如果活动队列已满且队列已满,则开始拒绝请求。您的里程可能会有所不同,但在优化时,您需要考虑:
1 + number of CPUs
通常最好不要增加队列,而是增加CPU的数量。如果您有大量的接收管道,那么添加接收节点通常是一个好主意,这些节点的目标是执行该管道,而不是在数据节点上执行。
1条答案
按热度按时间fnatzsnv1#
可以,您可以使用以下API调用
您将得到如下所示的内容,其中可以看到节点名、线程池名(查找
write
)、当前正在执行的活动请求数、队列中等待的请求数以及最后被拒绝的请求数。写入队列可以处理
1 + number of CPUs
个请求,即同时处于活动状态的请求数。如果活动队列已满且有新请求进入,则这些请求将直接进入队列(默认大小为10000)。如果活动队列已满且队列已满,则开始拒绝请求。您的里程可能会有所不同,但在优化时,您需要考虑:
通常最好不要增加队列,而是增加CPU的数量。如果您有大量的接收管道,那么添加接收节点通常是一个好主意,这些节点的目标是执行该管道,而不是在数据节点上执行。