Elasticsearch实例cpu使用率高排查思路

网友投稿 2726 2022-05-30

一. 问题背景与现象

1.某局点elasticsearch集群,单个ES数据实例cpu使用率持续很高,导致客户入库业务持续阻塞

如下图,单实例cpu使用率达到了5106%

二.原因分析

1.看是哪类任务导致实例cpu使用率高(写入还是查询)

curl -XGET --tlsv1.2 --negotiate -k -u : "https://127.0.0.1:24100/_cat/tasks?"|grep EsNode1@ip

需把EsNode1@ip换成对应的实例名称

如下图,第一列全部是data/write/bulk任务(bulk表示写入任务),说明为写入业务造成此实例cpu使用率高

Elasticsearch实例cpu使用率高排查思路

2.看相应任务,找到对应索引

如果是写入任务导致,执行以下命令

curl -XGET --tlsv1.2 --negotiate -k -u :  "https://127.0.0.1:24100/_tasks?nodes=EsNode1@ip&human&actions=*data/write/bulk&detailed"

需把EsNode1@ip换成对应的实例名称

如下图

indices[idx_theme_person_new]说明是idx_theme_person_new索引的写入业务造成了此实例的cpu使用率很高

requests[10000]:idx_theme_person_new一批如库的数据量过大,每次入库的数据量是10000条,单条文档数量是3.92kb,每批数据将近38mb

如果是其它业务导致,则需对语句做相应修改。将上述命令的data/write/bulk改为其它类型

例如查询则执行以下命令:

curl -XGET --tlsv1.2 --negotiate -k -u :  "https://127.0.0.1:24100/_tasks?nodes=EsNode1@ip&human&actions=*data/read/search&detailed"

把EsNode2@192.168.67.2换成对应的实例名称

三.解决办法

1.将idx_theme_person_new索引的写入业务先停止,后续整改此索引的业务。将一批bulk写入数据大小控制在15mb以内

2.为紧急恢复,可先重启cpu使用率高的ES实例,同时将idx_theme_person_new索引的写入业务停止

Elasticsearch

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决Rstudio不支持win系统中文用户名的问题
下一篇:Docker入阶
相关文章