对于 GC 方面,在使用 ES 时要注意什么?

1、倒排词典的索引需要常驻内存,无法 GC,需要监控 data node 上 segment

memory 增长趋势。

2、各类缓存,field cache, filter cache, indexing cache, bulk queue 等等,要

设置合理的大小,并且要应该根据最坏的情况来看 heap 是否够用,也就是各类缓

存全部占满的时候,还有 heap 空间可以分配给其他任务吗?避免采用 clear cache等“自欺欺人”的方式来释放内存。

3、避免返回大量结果集的搜索与聚合。确实需要大量拉取数据的场景,可以采用

scan & scroll api 来实现。

4、cluster stats 驻留内存并无法水平扩展,超大规模集群可以考虑分拆成多个集

群通过 tribe node 连接。

5、想知道 heap 够不够,必须结合实际应用场景,并对集群的 heap 使用情况做

持续的监控。

发表评论

后才能评论