开发者社区> 问答> 正文

这张性能优化工具图谱如何使用?

这张性能优化工具图谱如何使用?

配图1.jpg

展开
收起
云上静思 2021-10-18 18:56:22 476 0
1 条回答
写回答
取消 提交回答
  • 首先,虽然从系统、组件、应用两个三个角度去描述瓶颈点的分布,但在实际运行时,这三者往往是相辅相成、相互影响的。系统是为应用提供了运行时环境,性能问题的本质就是系统资源达到了使用的上限,反映在应用层,就是应用/组件的各项指标开始下降;而应用/组件的不合理使用和设计,也会加速系统资源的耗尽。因此,分析瓶颈点时,需要我们结合从不同角度分析出的结果,抽出共性,得到最终的结论。 其次,建议先从应用层入手,分析图中标注的高频指标,抓出最重要的、最可疑的、最有可能导致性能的点,得到初步的结论后,再去系统层进行验证。这样做的好处是:很多性能瓶颈点体现在系统层,会是多变量呈现的,譬如,应用层的垃圾回收(GC)指标出现了异常,通过JDK 自带的工具很容易观测到,但是体现在系统层上,会发现系统当前的CPU 利用率、内存指标都不太正常,这就给我们的分析思路带来了困扰。 最后,如果瓶颈点在应用层和系统层均呈现出多变量分布,建议此时使用ZProfiler、JProfiler 等工具对应用进行Profiling,获取应用的综合性能信息(注:Profiling 指的是在应用运行时,通过事件(Event-based)、统计抽样(Sampling Statistical)或植入附加指令(Byte-Code instrumentation)等方法,收集应用运行时的信息,来研究应用行为的动态分析方法)。譬如,可以对CPU 进行抽样统计,结合各种符号表信息,得到一段时间内应用内的代码热点。

    资料来源:《Java开发者面试百宝书》,链接:https://developer.aliyun.com/topic/download?id=7899

    2021-10-19 15:55:37
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
如何做小程序性能优化 立即下载
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
5G系统技术原理与实现 立即下载