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+
相关推荐
shuoshuohaohao39 分钟前
MyBatis 小知识点
java·spring·mybatis
海上小飞龙1 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
johnsong1 小时前
当决策成为免费商品:思维成本崩溃背后的治理真空
大数据·人工智能
谢亮_vipxieliang2 小时前
泛型擦除、通配符与 PECS 一次讲透
java·面试
八解毒剂2 小时前
【计组】中央处理器CPU
java·开发语言·计算机组成原理
数字新视界2 小时前
动环监控系统优化数据中心管理,提升环境监测与安全效率
大数据·人工智能·数据中心·微模块机房·模块化机房
zhenaibo5212 小时前
如何向导师请教问题,才能得到有效建议?
大数据·人工智能·深度学习
生活愉甜2 小时前
森马SEMIR LAB全球首家概念店落地武康路,“WUKANG368”新地标就位
大数据·人工智能
乐迪信息3 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
打工仔折腾 AI3 小时前
工业场景下时序库与实时计算一体化架构选型实践对比
java·开发语言·后端·python·性能优化·架构·ai agent 实战