CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

性能工具之代码级剖析工具-源码交易平台丞旭猿

7DGroup是一个探讨架构级性能各个技术细节的兴趣组织,旨在做一些对性能分析优化、容量评估、稳定性、高可用性、高性能分析、性能异常等角度的技术思考。

我是测试经理将为大家带来作者的系列文章分享。

上次有人提到说下剖析工具。所以再来聊聊代码级剖析工具。不管怎么吹,代码级剖析工具对性能本身的损耗都是存在的。并且损耗还不小。即使是在偏底层做,也照样有很大的损耗。20-30%损耗都是正常的。

要找好代码级工具的切入点,一开始就用肯定是不理智。只要分析到了某一个具体的进程或线程,或者已经有了可疑代码的具体方法,再上代码级剖析工具就更有目的性了。

JAVA方向:对JAVA来说,代码级的剖析工具有好多。自带的就有不少,像现在SUN JDK中的jvirtualVM就可以实时看CPU和内存在一个方法和对象上的消耗。还有jstack/jmap等工具可辅助。如果不想实时看,做下dump也可以看内存的占用。但是要想看方法调用时间就比较费劲一点。不过现在有不少的商业工具,比如说jprofiler,这工具直到现在还是我所见到的在java剖析中功能最全面的工具(它是商业的)。

不仅有树结构,还有调用图。

建议大家尽量找到可替代的适合的开源工具。

C/C++方向:在这个方向上,其实不止有专门的代码级剖析工具,像valgrind, google perftools。也有系统级的调试工具可以用。各种的trace工具,像perf/systemtap/oprofile之类的也都可用,并且内核级工具损耗要小一些。在solaris上有Dtrace,那本《性能之颠》的书里几乎全是Dtrace工具的例子。 并且这些工具还能生成火焰图、热力图之类的。

在其他语言上也有相应的剖析工具可用。像PHP有 Xdebug、xhprof;python有cprofile、memoryprofiler、lineprofiler;.net有CLR profiler;Go语言有pprof(这个是移植过来的,google perf中的工具更多)。

不管是什么语言,几乎类似的工具都存在的。有了这些工具,再加上系统级的调试工具,找到代码级性能问题就是分分钟的事。

当然,还是要强调人的思考能力在社会进步中的重要性,千万不要拿着榔头打枣,够不够得着不说,举一会也够累的。适合的工具最重要。

点击阅读原文,了解更多关于性能测试的课程

——msup研究院

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容