性能分析之快速从压力趋势定位到具体代码
Posted zuozewei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能分析之快速从压力趋势定位到具体代码相关的知识,希望对你有一定的参考价值。
前言
对于做性能分析的来说,快速定位的能力非常重要。层层剥离,不要跳跃。
最近在项目中看到不少人做性能问题的解决是全靠蒙的。比如疯狂加线程数什么的。
问题现象
最近在测试的一个系统中出现了一个现象是这样的。
(这次不打算再很细的一步步讲了,只说整体的思路,因为使用到的操作的手段在我之前的文章中都有说明)。
先看下几个图。
从上面的图就可以知道这个系统明显是有性能瓶颈(要是有人问为啥,我觉得肯定不是做性能的)。
出现这种情况怎么办呢?当然是要知道后端的哪个地方有问题,于是,我查了每一个相关的系统,看到如下信息。
系统级别信息:
软中断,软中断,软中断。接着可以找应用的麻烦了。再接着看。切换到线程之后,就看到了如下这些东西。
然后呢,就是老思路了。打印栈信息,拿出来瞄一眼。
这个问题的原因,其实就是一个内存参数配置错误的问题。不提也罢。
在性能问题中,有很多时候我们都在为这样的人为的过失折腾来折腾去。
总结
本文就是为了说明这个分析的思路,所有用到的工具都在我之前的文章中提到了。
对于性能分析来说,思路的清晰比直接上手去做,要重要得多,重要得多得多。
不然我们就一直在不断地浪费自己和别人的时间。
以上是关于性能分析之快速从压力趋势定位到具体代码的主要内容,如果未能解决你的问题,请参考以下文章
实战干货解决Spark数据倾斜之快速准确定位数据倾斜产生原因