配置项概述 #
processors 配置项设置节点可用的处理器(CPU 核心)线程数,影响系统的并发处理能力。
| 配置项 | 默认值 | 说明 |
|---|---|---|
processors | 自动检测 | 处理器数量 |
配置说明 #
processors #
配置项作用:设置节点可用的处理器线程数。此配置影响线程池大小、并发处理能力等。
默认值:自动检测(通常等于 CPU 核心数)
配置类型:静态配置
取值范围:1 ~ 正整数
配置格式:
# 默认配置:自动检测
processors: 48
# 手动指定
processors: 16
# 限制处理器数
processors: 8
工作原理 #
自动检测 #
┌─────────────────────────────────────────────────────────────────┐
│ 处理器自动检测 │
└─────────────────────────────────────────────────────────────────┘
启动时检测
│
├── 获取 CPU 核心数
│
├── 设置 processors = CPU 核心数
│
└── 影响以下组件:
├── 线程池大小
├── 并发任务数
└── 索引/搜索性能
使用场景 #
自动检测(默认) #
# 系统自动检测
processors: 48 # 48 核 CPU
适用场景:
- 物理机部署
- 虚拟机完整资源
- CPU 资源充足
手动指定(容器环境) #
# 容器环境:根据容器配额设置
processors: 4
适用场景:
- Docker/Kubernetes 容器
- CPU 限制环境
- 共享主机资源
限制处理器数 #
# 限制使用的处理器数
processors: 8
适用场景:
- 资源受限环境
- 多实例部署
- 非专用节点
对线程池的影响 #
通用线程池 #
thread_pool.generic.max = processors * 2
thread_pool.generic.core = processors / 2
写入线程池 #
thread_pool.write.size = processors
搜索线程池 #
thread_pool.search.size = (processors / 3) + 1
推荐配置 #
物理机环境 #
# 使用自动检测值
# processors: 自动检测
容器环境 #
# 根据容器配额设置
processors: 4
资源受限环境 #
# 限制处理器使用
processors: 2
高性能环境 #
# 使用所有可用核心
processors: 48
容器环境配置 #
Docker #
# docker-compose.yml
services:
easysearch:
image: infinilabs/easysearch:latest
environment:
- ES_JAVA_OPTS="-Xms4g -Xmx4g"
deploy:
resources:
limits:
cpus: '4'
# easysearch.yml
processors: 4
Kubernetes #
# Deployment
resources:
limits:
cpu: "4"
requests:
cpu: "2"
# easysearch.yml
processors: 4
监控和验证 #
查看处理器配置 #
# 查看节点信息
GET _nodes/stats
检查线程池 #
# 查看线程池状态
GET _cat/thread_pool?v
注意事项 #
- 重启生效:修改此配置需要重启节点
- 容器环境:容器中需要手动设置
- 过度订阅:不要设置超过实际可用的 CPU 核心数
- 线程池:影响多个线程池的大小
- 性能调优:根据实际负载调整





