部分阿里云Elasticsearch(简称ES)实例提供了垃圾回收器的配置功能,如果您的ES实例堆内存较大,建议您将垃圾回收器切换为G1回收器,提高垃圾回收性能。本文介绍如何配置垃圾回收器。
背景信息
阿里云ES 8.x以下版本默认使用的垃圾回收器为CMS回收器,当堆内存使用率达到75%时,将触发垃圾回收。如果您集群的堆内存较大,建议您切换为G1垃圾回收器,提高垃圾回收性能,详细信息请参见Garbage Collection Primer。
8.x及以上版本默认使用G1回收器,且不支持修改。
前提条件
已创建阿里云Elasticsearch实例。具体操作请参见创建阿里云Elasticsearch实例。
实例要求如下:
版本:6.7.0~7.16版本
数据节点内存:大于等于32 GB
说明如果不满足内存要求,可升级实例规格。具体操作,请参见升配集群。
操作步骤
- 登录阿里云Elasticsearch控制台。
- 在左侧导航栏,单击Elasticsearch实例。
- 进入目标实例。
- 在顶部菜单栏处,选择资源组和地域。
- 在Elasticsearch实例中单击目标实例ID。
在左侧导航栏,选择 。
在基础配置区域,单击垃圾回收器右侧的修改。
实例需满足以下要求,才可修改垃圾回收器配置:
版本:6.7.0及以上
数据节点内存:大于等于32GB
重要更改垃圾回收器机制需确保集群处于正常状态,该操作会触发集群滚动重启,重启时长与集群规模、数据量及负载情况等有关系,建议在业务低峰期操作。
如果集群索引存在副本分片且集群负载处于正常水平(CPU使用率在60%左右,堆内存使用率在50%左右,load_1m低于CPU核数),一般情况下,在集群变更过程中可持续对外提供服务。
如果集群负载过高且索引没有副本,同时业务中存在大量的写入或查询等场景,在集群变更过程中,业务可能会出现偶发的访问超时现象。建议在客户端访问机制中配置重试机制,以减小对业务的影响。
在修改配置页面,选择G1回收器,单击确定。
确定后,集群会自动重启。重启成功后,即可完成垃圾回收器的切换。
相关文档
切换垃圾回收器的API文档:UpdateAdvancedSetting