大家在日常开发中,遇到系统性能问题或者调优程序时,通常都使用什么工具或者从何处入手?
这个问题,很多时候会变成一个经验感觉问题。有经验的开发人员,在被各种问题虐待千百遍后,大脑里自然会建立各种复杂的回路,以便在遇到新问题时,能够快速检索,从而快速定位问题原因。
但是,对于新手而言,好的方法就显得特别重要了。下面这幅图不少开发人员可能见到过:
上图中完整包含了CPU、内存、网络、磁盘、系统库、系统调用等不同层次的分析方法和分析工具。
这是一个叫Brendan Gregg的人分享的“Linux性能分析方法与工具”PPT中的一页。对于新手,可以利用上图在自己的大脑里新建“寻宝图”,以备不时之需;而对于老手,同样可以利用上图,系统的完善自己的“老回路”,温故而知新。
对上面作者的分析感兴趣的读者,可以通过下面的链接下载完整的PPT文档。
https://download.youkuaiyun.com/download/wwwyue1985/15686071