--- title: "Flush 线程池保活时间配置" date: 2026-01-19 lastmod: 2026-01-19 description: "thread_pool.flush.keep_alive 配置项用于控制索引刷新线程池弹性线程的保活时间。" tags: ["线程池", "索引刷新", "资源管理", "ThreadPool"] summary: "配置项作用 # thread_pool.flush.keep_alive 配置项用于控制索引刷新线程池中弹性线程的保活时间。 当线程数超过核心线程数时,空闲的弹性线程在指定时间后会被回收。 配置项属性 # 配置路径: thread_pool.flush.keep_alive 数据类型: TimeValue(时间值) 默认值: 5m(5 分钟) 是否可选: 是 作用域: NodeScope(节点级别) 动态更新: 是(可以动态更新,无需重启) 配置项详解 # 工作机制 # 弹性线程生命周期 核心线程 (core): ├── 数量: 固定 (默认 1) ├── 创建: 启动时 ├── 回收: 永不 └-- 始终保持活跃 弹性线程: ├── 创建: 刷新请求增加时 ├── 用途: 应对刷新负载 ├── 空闲: 等待下次刷新 └-- 空闲超过 keep_alive → 回收 keep_alive 时间影响 # 不同 keep_alive 值的影响 keep_alive = 5m (默认): ├── 平衡性能和资源 ✅ ├── 应对间歇刷新 ✅ └-- 适用大多数场景 ✅ keep_alive = 10m: ├── 快速响应连续刷新 ✅ ├-- 减少创建开销 └-- 适用高写入场景 keep_alive = 2-3m: ├── 资源释放快 ├-- 节省资源 └-- 适用低写入场景 配置建议 # 默认配置(推荐) # thread_pool: flush: keep_alive: 5m # 默认值 高写入场景 # thread_pool: flush: keep_alive: 10m # 长时间保活 低写入场景 # thread_pool: flush: keep_alive: 2m # 快速回收 相关配置 # 配置项 作用 默认值 flush." --- ## 配置项作用 `thread_pool.flush.keep_alive` 配置项用于控制**索引刷新线程池中弹性线程的保活时间**。 当线程数超过核心线程数时,空闲的弹性线程在指定时间后会被回收。 ## 配置项属性 - **配置路径**: `thread_pool.flush.keep_alive` - **数据类型**: `TimeValue`(时间值) - **默认值**: `5m`(5 分钟) - **是否可选**: 是 - **作用域**: NodeScope(节点级别) - **动态更新**: 是(可以动态更新,无需重启) ## 配置项详解 ## 工作机制 ``` 弹性线程生命周期 核心线程 (core): ├── 数量: 固定 (默认 1) ├── 创建: 启动时 ├── 回收: 永不 └-- 始终保持活跃 弹性线程: ├── 创建: 刷新请求增加时 ├── 用途: 应对刷新负载 ├── 空闲: 等待下次刷新 └-- 空闲超过 keep_alive → 回收 ``` ## keep_alive 时间影响 ``` 不同 keep_alive 值的影响 keep_alive = 5m (默认): ├── 平衡性能和资源 ✅ ├── 应对间歇刷新 ✅ └-- 适用大多数场景 ✅ keep_alive = 10m: ├── 快速响应连续刷新 ✅ ├-- 减少创建开销 └-- 适用高写入场景 keep_alive = 2-3m: ├── 资源释放快 ├-- 节省资源 └-- 适用低写入场景 ``` ## 配置建议 ## 默认配置(推荐) ```yaml thread_pool: flush: keep_alive: 5m # 默认值 ``` ## 高写入场景 ```yaml thread_pool: flush: keep_alive: 10m # 长时间保活 ``` ## 低写入场景 ```yaml thread_pool: flush: keep_alive: 2m # 快速回收 ``` ## 相关配置 | 配置项 | 作用 | 默认值 | |--------|------|--------| | `flush.keep_alive` | 线程保活时间 | 5m | | `flush.core` | 核心线程数 | 1 | | `flush.max` | 最大线程数 | (CPU+1)/2, 最大5 | ## 注意事项 1. **默认值**: 默认值为 `5m`,适用于大多数场景。 2. **动态更新**: 支持动态更新,无需重启。 3. **写入频率**: 根据实际的写入频率选择。 4. **资源权衡**: 平衡性能和资源占用。