更新时间:2024-08-15 GMT+08:00
集群突现load高的故障排查
问题现象
集群任务被长时间拒绝,且大量任务出现卡死的情况,在Cerebro界面可以看到集群的load数值突然飙升。
原因分析
集群出现load升高的可能原因如下:
- 查询请求命中的数据较多导致查询线程执行缓慢。
- 写入压力过大导致很多线程出现卡死现象。
排查步骤
方法1:Cerebro工具
- 登录云搜索服务管理控制台。
- 左侧导航栏,选择 ,进入集群列表页面。
- 找到load飙升的集群,单击集群操作列的“Cerebro”进入可视化页面。
- 查看cpu和heap指标,如果这两个指标过高则说明集群当前压力较大,客户端可以适当减少大请求发送,等待集群压力下降。
- 查看shards是否合理,官方建议单个shard大小为20-40GB,建议不要超过50GB;单个节点上的同一索引shard数不要超过5个。
方法2:Kibana工具
- 登录云搜索服务管理控制台。
- 左侧导航栏,选择 ,进入集群列表页面。
- 找到load飙升的集群,单击集群操作列的“Kibana”进入页面,单击可以执行命令的Dev Tools工具。
- 执行GET _cat/thread_pool?v查看哪些线程任务堆积,定位是什么原因导致的集群压力倍增。
- 执行GET /_nodes/hot_threads可以查看当前占用大量CPU且执行时间很长的线程,定位何处导致任务积压。
父主题: 功能使用类