即使是不成熟的尝试,也胜于胎死腹中的策略。

ES线程池的问题

Elasticsearch | 作者 sterne vencel | 发布于2018年07月10日 | 阅读数:3797

ES每个节点的线程池包含了好几个部分,对于每个部分,第一列表示启动的线程数,第2列表示线程队列,第3列表示拒绝的请求数。
通过API查看发现节点的bulk的拒绝的请求数比较大多。但是启动的线程数却不多。对垒是0。我知道这个拒绝的请求数是累加的,而前两列是瞬时的。

1.png

我想问的问题是:
1)第2和第3列指的是请求的队列长度和拒绝数,还是线程的对列长度和拒绝数?
2)对于索引请求的话,对于节点上的每一个分片,如果这个分片有更新就会启动一个新的线程还是如何?即什么情况下会启动一个新的线程?
已邀请:

yayg2008

赞同来自:

问题1
api有queue和queue_size两个,queue 标示当前在队列中待执行的任务数,queue_size标示最大队列长度。
问题2
线程池是整个ES 节点共享的,每个种类的线程都配置了线程池的大小,每种线程都负责特定类型的事项,比如bulk操作就有bulk线程池处理。

要回复问题请先登录注册