悟空,拿我的打狗棒来

elasticsearch java客户端如何自定义线程池大小相关的参数?

Elasticsearch | 作者 nodexy | 发布于2016年01月13日 | 阅读数:7639

elasticsearch java客户端本质上是一个netty的客户端,依然支持 settings 和 threadpool 参数; 但是目前没有找到在客户端设置线程池的相关参数名称。
 
当然线程池是有默认大小的,一般是 cpu核数x2左右;通过阅读源码和实测,确实如此;但是目前我希望自己来设置这个大小,从而获得更好的性能。
已邀请:

medcl - 今晚打老虎。

赞同来自: laoyang360

之前是有参数的,但是经常被误用,线程调大了不会提示性能的,CPU*2已经是最佳的设置了,建议不要调整这个值。

hapjin

赞同来自:

不同的操作(GET/SEARCH/INDEX……)由不同类型的线程池处理。线程池参数设置主要是设置cpu核数和任务队列的长度
cpu核数(core pool size or max pool size),有默认值,与处理器个数有关,不同类型的线程池计算公式有点不一样而已。可参考这篇官方文档:threadpool
 
如果想修改线程池队列长度大小的话,可在elasticsearch.yml里面配置。可参考这个问答:how-i-can-increase-thread-pool-queue-size-in-elasticsearch-5-6

要回复问题请先登录注册