当前位置: 首页 > news >正文

ElasticSearch之线程池

ElasticSearch节点可用的CPU核的数量,通常可以交给ElasticSearch来自行检测和判定,另外可以在``elasticsearch.yml`中显式指定。样例如下:

node.processors: 2

如下表格中的processors即CPU核的数量。

线程池的列表

线程池名称类型线程数量队列长度用途
genericscaling一般用途。
searchfixed(processors * 3) / 2 + 11000count/search
search_workerfixed(processors * 3) / 2 + 1unboundedcount/search
search_throttledfixed1100count/search/suggest/get
search_coordinationfixedprocessors / 21000search-related
getfixed(processors * 3) / 2 + 11000get
analyzefixed116analyze
writefixedprocessors10000index/delete/update, ingest processors, and bulk requests
snapshotscalingmin(5, (processors) / 2)snapshot/restore
snapshot_metascalingmin(50, (processors* 3))snapshot repository metadata read
warmerscalingmin(5, processors / 2)segment warm-up
refreshscalingmin(10, processors / 2)refresh
fetch_shard_startedscaling2 * processorslisting shard states
fetch_shard_storescaling2 * processorslisting shard stores
flushscalingmin(5, processors / 2)flush/translog
force_mergefixedmax(1, processors / 8)unboundedforce merge
managementscaling5cluster management
system_readfixedmin(5, processors / 2)read
system_writefixedmin(5, processors / 2)write
system_critical_readfixedmin(5, processors / 2)read
system_critical_writefixedmin(5, processors / 2)write
watcherfixedmin(5 * processors, 50)1000watch executions

依据上述表格中的线程数量的规则,通过指定node.processors,可以推断出ElasticSearch各线程池中线程的数量。

线程池的类型

fixed
线程池中的线程数量固定,同时使用队列来缓存当前暂时无法处理的请求。
通过参数size指定线程池中线程的数量。
通过参数queue_size指定请求队列的长度,默认值为-1,表示unbounded,即为无界队列。

配置样例,如下:

thread_pool:write:size: 30queue_size: 1000

scaling
线程池中的线程数量依据一定的规则动态调整。
通过参数coremax,以及工作负载情况来判定线程的生命周期和数量。
通过参数keep_alive来决定空载情况下,线程的存活时长。
配置样例,如下:

thread_pool:warmer:core: 1max: 8keep_alive: 2m

相关资料

  • Thread pools
  • Watcher
  • Flush API
  • Translog
  • Force merge API
http://www.lryc.cn/news/255891.html

相关文章:

  • StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!
  • 【数据结构 — 排序 — 插入排序】
  • 物联网后端个人第十四周总结
  • 在uniapp中,可以使用那些预定义的样式类
  • mybatis的数据库连接池
  • Vue 的 el-select 下拉选项中,只有当文字超出时才显示提示框,未超出的则不显示
  • 【Python】pptx文件转pdf
  • response应用及重定向和request转发
  • CentOS常用基础命令大全(linux命令)2
  • 分析阿里巴巴的微服务依赖图和性能
  • Linux——基本指令(一)
  • 虚幻学习笔记10—C++函数与蓝图的通信
  • 无重复字符的最长子串(LeetCode 3)
  • 交付《啤酒游戏经营决策沙盘》的项目
  • 油猴(Tampermonkey)浏览器插件简单自定义脚本开发
  • BGP综合
  • 库函数qsort的使用及利用冒泡排序模拟实现qsort
  • mybatis和mybatisplus中对 同namespace 中id重复处理逻辑源码解析
  • linux下部署frp客户端服务端-内网穿透
  • Markdown to write
  • ResNeXt(2017)
  • DreamPlace 的下载安装与使用
  • FPGA模块——SPI协议(读写FLASH)
  • SQL自学通之表达式条件语句与运算
  • 公网域名如何解析到内网IP服务器——快解析域名映射外网访问
  • 线程安全与并发区别
  • SEO优化是什么,如何进行SEO优化
  • nodejs发起http或https请求
  • 举例C#使用特性排除某些类成员不参与XML序列化和反序列化
  • PHP基础 - 输入输出