线上出问题,我们应该如何快速解决

查日志

找到日志的位置,grep Exception backend.log 一把梭。

v2-bde8961612504ec5f9266194a01642fa_720w
v2-d0857c699d0751275db34b9a19f24dfb_720w

如果一个Exception不够,再来一个ERROR,反正把你能想到的关键词都想干净。

v2-a1877871cf01aa2d15f99bd3f84ae9db_720w

千万不要跟我说你查不到日志,如果是日志没有打印,请打印出来,磨刀不误砍柴工。如果是你没有权限查看,麻烦你一定要先搞到权限。千万千万要避免“猜”问题。一群人在那儿讨论半天,你猜我猜,最终猜出来的概率是比较低的,除非你见过这个BUG。

看状态

top一把,看看应用CPU占用率是不是异常的高。

v2-ae4034ccd5feba1e6aa91cb75df7841f_720w

load average根据CPU核心数来判断,CPU占用看是否为100%或异常的高。

看线程是否卡住

打印出所有线程栈之后,看看有没有你关心的线程卡住了,BLOCK或者wating之类的情况,然后看看他正在做什么调用