程序员如何做「故障排查」:不是玄学,是方法论

程序员如何做「故障排查」:不是玄学,是方法论

系统出问题了,怎么快速定位原因?

很多程序员靠"经验"和"直觉",但其实故障排查是有方法论的。


一、故障排查的步骤

1. 确认问题

2. 收集信息

3. 定位原因

4. 止血

5. 复盘


二、常见的故障原因

1. 资源问题

2. 应用问题

3. 外部问题


三、故障排查的工具

1. 日志

2. 监控

3. 网络

4. 系统


四、快速定位的技巧

1. 排除法

从基础设施到应用,从外到内,一层层排除。

2. 对比法

和正常情况对比——哪里不一样?

3. 回溯法

从问题发生的时间点往前推——最近做了什么变更?

4. 隔离法

关掉部分功能,确认是哪个模块的问题。


五、故障复盘的模板

1. 问题概述

什么问题?影响范围?

2. 时间线

3. 根因分析

问题是怎么发生的?真的是什么?

4. 改进措施


六、一句话总结

故障排查 = 确认问题 + 收集信息 + 定位原因 + 止血 + 复盘

/*]]>*/