--- title: "Refresh 线程池最大大小配置" date: 2026-03-08 lastmod: 2026-03-08 description: "thread_pool.refresh.max 配置项用于控制索引刷新线程池的最大线程数。" tags: ["线程池", "索引刷新", "性能调优", "ThreadPool"] summary: "配置项作用 # thread_pool.refresh.max 配置项用于控制索引刷新线程池的最大线程数。 配置项属性 # 配置路径: thread_pool.refresh.max 数据类型: Integer(整数) 默认值: (CPU核心数 + 1) / 2,最大不超过 10 是否可选: 是 作用域: NodeScope(节点级别) 动态更新: 是(可以动态更新,无需重启) 配置项详解 # 工作机制 # max 计算规则 max = (CPU核心数 + 1) / 2,最大 10 实际值: CPU 核心: 1-2 → max = 1 CPU 核心: 3-4 → max = 2 CPU 核心: 5-6 → max = 3 CPU 核心: 7-8 → max = 4 CPU 核心: 9-10 → max = 5 CPU 核心: 19-20 → max = 10 (上限) 配置建议 # 默认配置 # thread_pool: refresh: # max 使用默认计算值 动态更新 # PUT /_cluster/settings { "transient": { "thread_pool." --- ## 配置项作用 `thread_pool.refresh.max` 配置项用于控制**索引刷新线程池的最大线程数**。 ## 配置项属性 - **配置路径**: `thread_pool.refresh.max` - **数据类型**: `Integer`(整数) - **默认值**: `(CPU核心数 + 1) / 2`,最大不超过 `10` - **是否可选**: 是 - **作用域**: NodeScope(节点级别) - **动态更新**: 是(可以动态更新,无需重启) ## 配置项详解 ## 工作机制 ``` max 计算规则 max = (CPU核心数 + 1) / 2,最大 10 实际值: CPU 核心: 1-2 → max = 1 CPU 核心: 3-4 → max = 2 CPU 核心: 5-6 → max = 3 CPU 核心: 7-8 → max = 4 CPU 核心: 9-10 → max = 5 CPU 核心: 19-20 → max = 10 (上限) ``` ## 配置建议 ## 默认配置 ```yaml thread_pool: refresh: # max 使用默认计算值 ``` ## 动态更新 ```json PUT /_cluster/settings { "transient": { "thread_pool.refresh.max": 8 } } ``` ## 相关配置 | 配置项 | 作用 | 默认值 | |--------|------|--------| | `refresh.max` | 最大线程数 | (CPU+1)/2, 最大10 | | `refresh.core` | 核心线程数 | 1 | | `refresh.keep_alive` | 线程保活时间 | 5m | ## 注意事项 1. **默认值**: 动态计算,有硬上限 10。 2. **I/O 密集**: Refresh 是 I/O 密集型操作。 3. **不建议过大**: 过多线程不会提升性能。