Elasticsearch 的一些默认配置上下限

1. 内存配置

配置项 下限 推荐值 上限 说明
堆内存(Heap Size) 1GB(生产4GB+) RAM的50% 32GB 超过32GB会因Java指针压缩失效导致性能下降
虚拟内存区域(vm.max_map_count) 262144 262144 无 低于此值启动失败
堆外内存 无 至少1GB RAM的50% 为Lucene预留,大集群需更多

2. 文件与I/O配置

配置项 下限 推荐值 上限 说明
文件描述符 4096 65535+ 65536(OS限制) 生产环境强制要求
磁盘空间 无 50%可用 85%使用 超过85%会只读
分片磁盘占用 无 10-50GB/分片 无 超过50GB影响恢复性能

3. 分片(Shard)配置

配置项 下限 推荐值 上限 说明
每节点分片数 无 20-30/GB堆 1000/节点 默认限制
分片文档数 无 5000万-1亿 Int的最大值/分片 超过2亿性能骤降
分片大小 无 10-50GB/分片 无 大分片恢复慢
总分片数 无 无 无 受堆内存限制、集群节点数

4. 索引配置

配置项 下限 推荐值 上限 说明
字段映射数 无 无 1000(默认) index.mapping.total_fields.limit
索引恢复速率 1MB/s 40MB/s 无 indices.recovery.max_bytes_per_sec
索引速率 无 无 无 受硬件限制

5. 查询限制

配置项 下限 默认 上限 说明
结果窗口 无 10000 Int最大值 index.max_result_window
聚合桶数 无 10000 无 search.max_buckets
批量请求大小 无 5-15MB 无 避免OOM

6. 节点配置

配置项 下限 推荐值 上限 说明
主节点数 1 3(生产) 无 必须奇数
数据节点数 1 ≥2 无 根据数据量调整
节点类型 无 专用角色 无 生产环境建议分离角色

关键限制总结

  1. 绝对不可突破的硬性限制:

    • 分片文档数:2,147,483,519(Lucene限制)
    • 堆内存:32GB
    • 文件描述符:65536(OS限制)
  2. 官方强烈建议不要超过的推荐限制:

    • 分片文档数:200,000,000
    • 每节点分片数:1000
    • 磁盘使用率:85%
    • 结果窗口:100,000
  3. 性能最佳实践:

    • 分片文档数:5000万-1亿
    • 分片大小:10-50GB
    • 堆内存:RAM的50%且≤32GB
    • 文件描述符:65535+
相关推荐
跨境卫士-小汪1 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
古法老登瞎折腾2 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
智能运维指南3 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
2601_967212723 小时前
智能电源轨道技术原理、认证核查与场景适配说明
大数据·经验分享·安全
yz_aiks3 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵4 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设4 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
KKKlucifer4 小时前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
jason成都4 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵4 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作