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+
相关推荐
芝士爱知识a1 天前
2026高含金量写作类国际竞赛汇总与测评
大数据·人工智能·国际竞赛·写作类国际竞赛·写作类比赛推荐·cwa·国际写作比赛推荐
014-code1 天前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
鹧鸪云光伏1 天前
基于支架参数一键生成光伏全套CAD图纸
大数据·信息可视化·cad·光伏·储能设计方案
java1234_小锋1 天前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
末央&1 天前
【天机论坛】项目环境搭建和数据库设计
java·数据库
枫叶落雨2221 天前
ShardingSphere 介绍
java
花花鱼1 天前
Spring Security 与 Spring MVC
java·spring·mvc
黎阳之光1 天前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
言慢行善1 天前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星1 天前
使用Dify对接自己开发的mcp
java·服务器·前端