关于性能诊断的方法,我们可以按照“问题现象—直接原因—问题根源”这样一个思路去归纳。我们先从问题的现象去入手,包括时间的分析、资源的分析和异常信息的分析。接下来再去分析产生问题现象的直接原因是什么,这里我们归纳了自上而下的资源分析法和发散的异常信息分析法。找到直接原因之后,再去从问题的根源上去分析,包括软件架构的分析、部署架构的分析和业务架构的分析。上期文章给大家介绍了时间分布诊断方法,这期跟大家聊聊资源分布诊断方法。
它所使用的工具和时间分布诊断方法是类似的就不展开说了,它要明确的目标是明确哪里资源不够的?明确哪里资源使用不充分,适用于资源占用过多或者哪里资源占用过少的情况。
资源诊断可能存在潜在问题的对象与时间分布相类似,可能不太一样的是应用程序计算资源这里,你需要更多地去关注JVM或者编译器可能存在的潜在问题。在软件存储资源这里,可能需要去关注到CPU的缓存或者内存资源。
通信资源
网络吞吐量(硬件设备、协议、OS)
网络传输内容(缓存、文件)
计算资源
硬件设备计算资源(设备硬件、嵌入式程序)
技术架构计算资源(软件架构、部署架构、协议)
应用程序计算资源(JVM、编译器)
基础软件、组件计算资源(OS、DB、组件参数配置)
存储资源
硬件设备存储资源(设备硬件、嵌入式程序)
技术架构存储资源(软件架构、部署架构)
软件存储资源(CPU多级缓存、内存)
接下来的文章还会继续为大家介绍其他性能诊断方法,可点击到主页继续查看。