性能分析之快速从压力趋势定位到具体代码

Posted zuozewei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能分析之快速从压力趋势定位到具体代码相关的知识,希望对你有一定的参考价值。

前言

对于做性能分析的来说,快速定位的能力非常重要。层层剥离,不要跳跃。
最近在项目中看到不少人做性能问题的解决是全靠蒙的。比如疯狂加线程数什么的。

问题现象

最近在测试的一个系统中出现了一个现象是这样的。
(这次不打算再很细的一步步讲了,只说整体的思路,因为使用到的操作的手段在我之前的文章中都有说明)。

先看下几个图。



从上面的图就可以知道这个系统明显是有性能瓶颈(要是有人问为啥,我觉得肯定不是做性能的)。

出现这种情况怎么办呢?当然是要知道后端的哪个地方有问题,于是,我查了每一个相关的系统,看到如下信息。

系统级别信息:


软中断,软中断,软中断。接着可以找应用的麻烦了。再接着看。切换到线程之后,就看到了如下这些东西。


然后呢,就是老思路了。打印栈信息,拿出来瞄一眼。


这个问题的原因,其实就是一个内存参数配置错误的问题。不提也罢。

在性能问题中,有很多时候我们都在为这样的人为的过失折腾来折腾去。

总结

本文就是为了说明这个分析的思路,所有用到的工具都在我之前的文章中提到了。

对于性能分析来说,思路的清晰比直接上手去做,要重要得多,重要得多得多。
不然我们就一直在不断地浪费自己和别人的时间。

以上是关于性能分析之快速从压力趋势定位到具体代码的主要内容,如果未能解决你的问题,请参考以下文章

捷科漫笔丨性能问题定位分析及ORACLE数据库监控

性能分析之IO分析-从IO高到具体文件

实战干货解决Spark数据倾斜之快速准确定位数据倾斜产生原因

“人工智能之王”业绩增长,90亿举牌有望成妖,天山生物以势不可挡

Java代码分析和CPU高的方法分析

性能分析之公有云网络带宽导致 TPS 低 RT 高