天天看點

【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​​

繼續閱讀