19

JVM 问题排查分析上篇(调优经验)

 3 years ago
source link: https://kimmking.blog.csdn.net/article/details/108728958
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

JVM 问题排查分析上篇(调优经验)

kimmking 2020-09-22 12:06:37 41
分类专栏: JVM 核心技术 32 讲

一般来说,只要系统架构设计得比较合理,大部分情况下系统都能正常运行,出现系统崩溃等故障问题是小概率事件。也就是说,业务开发是大部分软件工程中的重头戏,所以有人开玩笑说:“面试造火箭,入职拧螺丝。”

一般来说,我们进行排查分析的目的主要有:

  • 解决问题和故障
  • 排查系统风险隐患

我们按照问题的复杂程度,可以分为两类:

常规的问题一般在开发过程中就被发现和解决了,所以线上问题一般会比较复杂,出现在大家都没有考虑到的地方。按照我们的多年解决经验,这些复杂问题的排查方式可以分为两种途径:

  • 逻辑严密的系统性排查;
  • 以猜测来驱动,凭历史经验进行排查。

如果您倾向于选择后一种方式,那么可能会浪费大量的时间,效果得看运气。更糟糕的是,因为基本靠蒙,所以这个过程是完全不可预测的,如果时间很紧张,就会在团队内部造成压力,甚至升级为甩锅和互相指责。

66772038.png

系统出现性能问题或者故障,究竟是不是 JVM 的问题,得从各个层面依次进行排查。

为什么问题排查这么困难?

生产环境中进行故障排查的困难

在生产环境中针对特定问题进行故障排除时,往往会有诸多限制,从而导致排查的过程变得痛苦。

1. 影响到客户的时间越短越好


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK