记录一次移动系统诊断过程

    现象:点击功能B不成功,过了一会在,整个系统反应很慢。

    架构:dubbo zookeeper tomcat mysql

   诊断过程:

    1.检查应用日志,发现了功能B的很多锁超时,在mysql数据库中发现了锁等待,kill堵塞者之后,系统恢复正常,且功能B也能正常。但过1小时后,问题又出现了。

    2.无意发现操作功能A失败,会导致功能B失败,系统慢。重复几次,每次必现。从堵塞的SQL来看,它们都update TABA,检查应用日志,没有发现功能A相关的错误日志。

    3.用chrome F12操作功能A,且把Tomcat的日志级别打到info,重要在应用的日志里面发现功能A的一个远程调用反复重试。

    4.一切都明了了,由于功能A中修改TABA,代码走到远程调用的时候不同,程序hang在这里,导致功能B锁等待严重。

    5.发现远程的服务宕机了,在调用远程服务的时候加上超时时间,解决诊断的困局。

你可能感兴趣的:(记录一次移动系统诊断过程)