你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
Ombres
赞同来自: HideOnBush
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
whu_laomaizi - 老麦子
赞同来自:
要回复问题请先登录或注册
You know for search.
3 个回复
Ombres
赞同来自: HideOnBush
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: HideOnBush
尽量不要动线程池这个配置,如果要动,建议改为:
int(( 核心数 3 )/ 2 )+ 1 。
同时满足:不允许bulk和’indexing’线程池的大小大于CPU内核数。
举例:24核处理器,检索服务器是24核,所以:线程池的大小
=(24*3)/2+1=37,
同时要满足cpu核数为24。37和24取最小值,应该选择24。
默认的队列大小是1000,
现在的问题是:并发请求数据超过了队列最大的大小,导致出错。
可能的解决方案:
1)、增加队列大小;(太大了,可能会导致内存溢出)
2)、增加节点数和副本数。
队列大小:
在elasticsearch.yml中新增如下配置(5.X已经验证):
## Threadpool Settings
### Search pool
thread_pool.search.size: 24
thread_pool.search.queue_size: 2000
#Bulk pool
thread_pool.bulk.size: 24
thread_pool.bulk.queue_size: 1000
# Index pool
thread_pool.index.size: 24
thread_pool.index.queue_size: 1000
如果你的批量请求数目高于队列大小,将会出现RemoteTransportException异常。
whu_laomaizi - 老麦子
赞同来自:
默认得bo大很多,但是in/cs也更高,怎么判断是默认的8线程好还是看起来不合理得200好?