问题现象
分片deleted文档数占比过高,代表此索引分片存在频繁的数据更新,此类业务场景理论上不是ES最擅长的。数据更新代表着每次操作都设计搜索、标记删除、新增,更新速度过快时容易给集群带来较大压力。
而且根据以往运营经验,还发现ES在处理deleted占比量较大的分片时,可能会存在merge性能差等现象,造成集群单线程单CPU高负载,影响整体性能。
问题解析
我们过_cat/indices?v 可以查看到docs.deleted数量,如果docs.deleted数量占比索引总文档数过多,可确定会存在问题。当前运营经验按照30%来进行衡量。
解决方案
1-通过定期forcemerge彻底删除标记删除的文档。
参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html
代码语言:javascript复制POST index/_forcemerge?only_expunge_deletes=true&max_num_segments={参
数}
2-减少ES更新类业务