生产问题排查技巧总结

1.背景

最近组内入职的新人比较多,大家排查问题比较费时间,也比较痛苦,我抽时间整理了一下我自己常用的排查问题的思路和技巧,在自己的博客里也分享一下。

  1. 程序员的平时工作写代码只占很小的一部分,很大一部分都是在 查问题和 讨论和设计方案选型
  2. 有的同学觉得 遇到奇怪的问题,不知道怎么入手排查
  3. 经常解决各种问题也能提高风险意识,后续设计方案的时候才会知道怎么去避免这些问题
  4. 大家在平时解决问题的时候,多思考怎么系统高效的解决问题,自动发现和解决问题
  5. 每个系统其实都有不少问题,需要大家努力思考

2.排查问题技巧

  1. 排除法 (基于问题的表现,我们能够知道哪些因素是可靠的,采用排除法查找问题)
  2. 本地测试重现问题 (很多问题尽量本地重现,可以debug。本地如果不能重现,大概率是和生产的配置不一致)
  3. 日志 (加日志,帮助排查问题)
  4. google (开源框架的问题可以google)
  5. 看源码 debug
  6. 找人沟通,换一种思路,有时候自己排查问题很久可能会钻进死胡同

总的来说排查问题就像破案一样,要多思考:
7. 能否恢复当时的现场
8. 最早案发时间时什么时候 (check这个时间点是不是有发布)
9. 问题是否时必现的, 还是偶发的
10. 平时一定要做好日志,否则连案发现场都没有 (当前云上默认没有info日志,需要靠问题复现)

3.重视问题

  • 生产问题的重要性
    生产问题是最高优先级,比手头任务优先级高,需要优先排查
  • 排查问题也是工作的一部分
    问题也是工作很重要的一部分,我们要重视它,我个人还是比较喜欢排查有挑战的问题的,就像破案一样。
  • 排查和解决问题也是成果
    写业务的挑战其实有限,真正在遇到问题的时候才是真正的挑战。否则你会感觉做了很多东西,但是都是CRUD,没有遇到什么难点。
    有时候 对外讲项目真正值得拿出来讲的,恰恰是哪些关键的难点和问题。遇到了什么样的难题,用什么办法解决了,这才是最大的亮点。
  • 个人成长
    我感觉个人成长最大时候都是我们遇到难题,克服难题的时候。而不是我们写了多少业务需求。业务需求写的多,也只是把类似的事情重复了很多遍,做的更加熟练。解决问题或者踩坑,能形成风险意识,能够帮助技术选型

4.问题分类

解决问题首先要思考这是一个技术问题还是一个业务问题,有些问题是可以和业务沟通,尝试优化业务逻辑避免问题降低成本。

  1. 业务问题 or 代码问题
  2. 内部问题 or 外部问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值