配置项作用 #
thread_pool.generic.keep_alive 配置项用于控制通用线程池中弹性线程的保活时间。
当线程数超过核心线程数时,空闲的弹性线程在指定时间后会被回收。
配置项属性 #
- 配置路径:
thread_pool.generic.keep_alive - 数据类型:
TimeValue(时间值) - 默认值:
30s(30 秒) - 是否可选: 是
- 作用域: NodeScope(节点级别)
- 动态更新: 是(可以动态更新,无需重启)
配置项详解 #
工作机制 #
弹性线程生命周期
核心线程 (core):
├── 数量: 固定 (默认 4)
├── 创建: 启动时
├── 回收: 永不
└-- 始终保持活跃
弹性线程:
├── 创建: 通用任务增加时
├── 用途: 应对负载波动
├── 空闲: 等待下次任务
└-- 空闲超过 keep_alive → 回收
keep_alive 时间影响 #
不同 keep_alive 值的影响
keep_alive = 30s (默认):
├── 资源释放: 快速 ✅
├── 响应负载: 灵活 ✅
├-- 内存占用: 低
└-- 适用大多数场景 ✅
keep_alive = 1m:
├── 资源释放: 较慢
├-- 响应负载: 更稳定
├── 减少创建开销 ✅
└-- 适用频繁波动
keep_alive = 10s:
├── 资源释放: 很快
├-- 响应负载: 敏捷
├── 内存占用: 更低
└-- 适用资源受限
配置建议 #
默认配置(推荐) #
thread_pool:
generic:
keep_alive: 30s # 默认值
频繁负载场景 #
thread_pool:
generic:
keep_alive: 1m # 延长保活时间
资源优化 #
thread_pool:
generic:
keep_alive: 10s # 缩短保活时间
相关配置 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
generic.keep_alive | 线程保活时间 | 30s |
generic.core | 核心线程数 | 4 |
generic.max | 最大线程数 | 4 × CPU核心数, 最大512 |
注意事项 #
默认值: 默认值为
30s,较短的时间有利于资源释放。动态更新: 支持动态更新,无需重启。
负载模式: 根据负载波动频率选择。
资源权衡: 平衡响应速度和资源占用。





