生产问题分析定位

 极客时间《Java业务开发常见错误100例》学习笔记

生产问题分析定位

  • 分析问题一定是需要依据的,靠猜是猜不出来的,需要提前做好基础监控的建设。监控的话,需要在基础运维层、应用层、业务层等多个层次进行。定位问题的时候,同样需要参照多个监控层的指标表现综合分析。
  • 定位问题要先对原因进行大致分类,比如是内部问题还是外部问题、CPU 相关问题还是内存相关问题、仅仅是 A 接口的问题还是整个应用的问题,然后再去进一步细化探索,一定是从大到小来思考问题;在追查问题遇到瓶颈的时候,可以先退出细节,再从大的方面捋一下涉及的点,再重新来看问题。
  • 定位到问题原因后,要做好记录和复盘。每一次故障和问题都是宝贵的资源,复盘不仅仅是记录问题,更重要的是改进。复盘时,记录完整的时间线、处理措施、上报流程等信息;分析问题的根本原因;给出短、中、长期改进方案,包括但不限于代码改动、SOP、流程,并记录跟踪每一个方案进行闭环;定期组织团队回顾过去的故障。
  • JDK 自带的一些监控和故障诊断工具中,有命令行工具也有图形工具。其中,命令行工具更适合在服务器上使用,图形界面工具用于本地观察数据更直观。使用 Wireshark 分析了 MySQL 批量 insert 操作慢的问题。通过 Wireshark 分析网络包可以让一切变得如此透明。
  • 遇到诸如 Connection reset、Broken pipe 等网络问题的时候,你以利用 Wireshark 来定位问题,观察客户端和服务端之间到底出了什么问题。
  • 开发网络程序的话,Wireshark 更是分析协议、确认程序是否正确实现的必备工具。
  • 使用正确的工具、正确的方法来分析问题,几乎可以在几分钟内定位到问题根因。MAT 正是分析 Java 堆内存问题的利器,而 Arthas 是快速定位分析 Java 程序生产 Bug 的利器。利用好这两个工具,就可以帮助我们在分钟级定位生产故障。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值