需要了解搜索池elasticsearch

时间:2016-02-15 07:47:34

标签: elasticsearch

Elasticsearch文档定义了搜索池:

  

对于计数/搜索操作,默认为固定,大小为3x#可用   处理器。 queue_size 1000。

因此,如果我有一个带有8个核心CPU的节点,那么它一次可以调整24个搜索操作。这是固定值。

但我不明白“queue_size 1000”是什么意思。它如何影响搜索操作?

2 个答案:

答案 0 :(得分:1)

official docs

中对此进行了解释
  

queue_size允许控制没有线程执行它们的待处理请求队列的大小。默认情况下,它设置为-1,这意味着它是无界的。当请求进入并且队列已满时,它将中止请求。

将其设置为1000意味着您可以有1000个等待处理的待处理请求。

答案 1 :(得分:1)

正确的number of search/count pools((# of available_processors * 3) / 2) + 1,因此在您的情况下,这意味着((8 * 3)/ 2)+ 1 = 13个线程池来处理搜索和计数请求。

queue_size表示如果没有线程可以处理它们,您可以在任何给定时间堆叠多达1000个待处理请求。