一、明确问题
作为项目的主程或者负责人,如果线上出了问题,我们应该如何做?如何在最短时间解决问题,把损失降到最低,面对领导的压力又如何化解。
二、方法简述
当线上出现问题的时候,首先会引起恐慌,这个时候非常不利于问题的处理,切记“冷静,冷静,冷静”,一定要能沉住气,要能顶住领导的盛怒,产品的压力,用户的冷嘲热讽,以及自己的负面情绪,集中精力处理目前出现的问题,以最快的速度把损失降到最低,总结起来就是:“心理不能崩,行动有计划,事后有交代”。具体按照以下步骤去执行:
- 稳住心态
- 观察现象
- 多端并进
- 分析日志
- 速度决断
- 总结反思
三、分步操作
动作1: 稳住心态
- 具体动作:
- 冷静,首先自己不能乱,正面问题,积极的回应,特别是不要剥夺领导的知情权,因为领导会在第一时间调用他的资源快速的去解决问题。
- 错误案例
- 心态崩了,那么谁也救不了你。
- 消极处理,拖延了最佳时间,会对整体造成不可弥补的损失,那么到时候你就是罪人
- 没有反馈,埋头处理,相关人员会一直追问原因,反而影响了解决问题的效率,应该积极反馈,例如:正在处理,预计2个小时会解决。
- 隐瞒领导,出了事一定要积极的向上汇报,充分调动领导层面的资源,快速的解决问题,不要自己硬撑,依靠自己能快速的把问题解决,毕竟是少数,大多数情况,总是以悲剧收场,所以请记住:“出来混始终要还的……”
动作2: 观察现象
1)具体动作:
- 收集问题,分析现象
- 这个步骤一定要全,当问题很模糊的时候,一定要从整体去分析,切勿以偏概全,把自己逼进死胡同,但是一定要适度,只分析问题相关的,切勿发散思维,这样不利于问题的快速处理。
- 正误案例
- 正确案例: 列出所有的相关问题和现象,针对问题做出归类和分析。 1 服务器cpu占用高 2 在线人员很多 3 前两天做了相关部分的代码升级……
- 错误案例: 没有根据现象而主观臆断,当然可以根据以往的经验判断,第六感偶尔会出奇迹,但是每次你不可能那么幸运。
动作3: 多端并进
1)具体动作:
- 根据收集的现象,多个人同时去排查 1 张三你去看下数据库,是否有耗时事务,死锁….. 2 李四你看下web服务器,内存cpu占用情况,打印出堆栈信息 3 代码分析 ……………
- 阶段性收集和汇总,根据收集的信息,再次执行动作二,列出相关动作。
动作4: 分析日志(解决问题的银弹)
1)具体动作:
- 分析日志,还原用户操作,收集异常信息,根据代码打印,分析代码业务逻辑
备注:日志用时方恨少,平时注意代码规范,该打印的日志千万不要省。
动作5: 速度决断
1)具体动作:
- 分析出问题后,一定要拿出AB方案,与相关干系人,一起决策。
- 决断一定要快,选择最优方案,快速行动。
动作6: 总结反思
1)具体动作:
- 写出事故报告,包含时间,原因,现象,解决步骤,处理方案等
- 勇于承担责任,切勿推脱责任
- 同类问题反思,如何避免相关问题
备注:出来问题并不可怕,问题是你怎么去面对,人不可能不犯错,除非你不做。
- 可用工具
- 语雀/腾讯文档-问题收集
- TodoList/ Trello/ Teambition/便签/word 问题记录
- 钉钉/微信-即使沟通
- 相关日志分析工具
五、知识清单
参考具体动作
六、列核对表
核对项 | 是否完成 |
心态是否紧张 | 是口 否口 |
是否能够冷静的处理问题 | 是口 否口 |
是否能够积极的处理问题 | 是口 否口 |
是否已经向上反馈 | 是口 否口 |
现象收集是否全面 | 是口 否口 |
是否根据现象,做出分类,并按照相应的人员去跟进 | 是口 否口 |
日志是否详细,是否能够反应出问题 | 是口 否口 |
是否能够快速的决策,并及时的止损 | 是口 否口 |
是否有事后的反思过程 | 是口 否口 |
七、练习任务
按照步骤实践,并根据案例给团队分享。