天天看点

【ElasticSearch】6亿文档存储的ES集群调优实战

一、问题描述

  • 1. 集群节点3台,配置4核16G
  • 2. 分片副本数5 * 2
  • 3. JVM参数:-Xms4G -Xmx4G
  • 4. 老年代一直涨,GC回收不了
  • 5. 业务数据有批量写入的操作
【ElasticSearch】6亿文档存储的ES集群调优实战
【ElasticSearch】6亿文档存储的ES集群调优实战
【ElasticSearch】6亿文档存储的ES集群调优实战
【ElasticSearch】6亿文档存储的ES集群调优实战
curl -s 'localhost:9200/_cat/nodes?h=name,fm,fcm,sm,qcm,im&v'

fielddata.memory_size (fm), // 字段缓存占用内存

filter_cache.memory_size (fcm) // 过滤语句缓存占用内存

segments.memory (sm) // 每个分片包含的断 占用内存

​​http://localhost:9200/_nodes/hot_threads​​

【ElasticSearch】6亿文档存储的ES集群调优实战

二、问题分析

1. 堆内存太小

2. 分片数量不是3的倍数,导致集群压力不均衡

3. bulk批量写入过大

三、解决方案

1. 增大JVM配置参数-Xms8G -Xmx8G

参考资料

​​Bulk异常引发的Elasticsearch内存泄漏_wx60e27c825fe44的技术博客_51CTO博客​​

​​es进程占用内存持续增加,快爆了 - Elastic 中文社区​​

Java启动参数详解_啊荻~的博客

ES 性能调优,这可能是全网最详细的 Elasticsearch 性能调优指南_Elastic开源社区的博客

ES内存持续增长问题分析_道友,且慢的博客

elasticsearch实际总结(4)—— 查询缓存

​​Elasticsearch内存溢出怎么排查?收藏这篇内存组成! - 墨天轮​​

​​Day19 ES内存那点事 - Elastic 中文社区​​

【Arthas性能排查系列(三)】火焰图分析_ADAMs.的博客

​​Elasticsearch 之 Translog​​

继续阅读