当线上出问题时,反正就挺突然,我的小心脏差不多应该快适应这种偶尔要被击爆的感觉了吧。
现象:后天监控大面积CT的AI推送失败,查了一下日志,是应该AI计算服务器正在忙碌的时候,调度程序又推送任务过去,AI计算程序拒绝接收任务而报错。
表面原因:计算服务器的状态与AI调度服务器记录的计算服务器状态不一致
猜测原因:1、计算服务器判断错误,空闲状态也认为是忙碌状态。
2、调度服务器没有得到正确的计算服务器状态
追踪问题:
查看日志:大面积报redis超时,第一感觉跟这有关系。因为计算服务器每同步一次状态给调度服务器,需要往redis里记录一次接口调用计数。每操作一次redis需要20s,一次同步状态的接口需要访问2次redis,所以跟猜测原因2一致。
那为什么redis突然这么久?
看日志前一天redis完全正常
从零点之后开始异常
处理办法:第一步:去掉redis,保证AI计算正常。好在此应用中redis仅用来统计接口调用次数,没有业务逻辑,所以很好去掉,也不会影响功能。
去掉后部署上去恢复正常。
第二步:查找原因。为什么redis突然异常了? 用的阿里云redis,连的是内网链接。在此服务器上无法ping通redis服务。运维检查了一通没有发现问题,后他把此服务器地址加到局域网网断中就突然就通了。原因就是很迷啊,他说他也不知道为什么。而我却过了一个心惊肉跳,被领导催到不行的早上。