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+
相关推荐
JH30736 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
2501_944934737 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
invicinble8 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟8 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖8 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
九河云8 小时前
5秒开服,你的应用部署还卡在“加载中”吗?
大数据·人工智能·安全·机器学习·华为云
Gain_chance9 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
每日新鲜事9 小时前
热销复盘:招商林屿缦岛203套售罄背后的客户逻辑分析
大数据·人工智能
qq_12498707539 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计