本篇文章主要介绍了" 性能分析系列-小命令保证大性能",主要涉及到方面的内容,对于软件测试感兴趣的同学可以参考一下:
最近在工作中经常和性能压测工作打交道,积累了一些性能分析经验,我觉得这些经验对每一个开发者都有帮助的,能开发出性能高的代码也是我们的最终目标。最近在工作中经常和...
最近在工作中经常和性能压测工作打交道,积累了一些性能分析经验,我觉得这些经验对每一个开发者都有帮助的,能开发出性能高的代码也是我们的最终目标。
最近在工作中经常和性能压测工作打交道,积累了一些性能分析经验,我觉得这些经验对每一个开发者都有帮助的,能开发出性能高的代码也是我们的最终目标。
由易到难,我们逐步介绍不同命令的用法和好处,这些命令是如何帮助我们开发人员进行性能分析的。
一、开发者的自测利器-Hprof命令
1、示例演示
例子程序:
/**
* PROJECT_NAME: test
* DATE: 16/7/22
* CREATE BY: chao.cheng
**/publicclass HProfTest {
publicvoidslowMethod(){
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
publicvoidslowerMethod(){
try {
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
}
publicstaticvoidmain(String[] args){
HProfTest test = new HProfTest();
test.slowerMethod();
test.slowMethod();
}
}
注:这是一段测试代码通过sleep方法进行延时,在程序运行过程中很慢,我想知道到底是哪段程序影响的整体性能呢?
我在这个java程序中,加了如下运行参数:
-agentlib:hprof=cpu=times,interval=10/*
times:java函数的执行时间
hprof=cpu是针对cpu统计时间
interval=10 采样10次
*/
再次运行这段程序显示如下图:

Paste_Image.png
这时候还发现在工程目录里面,多了一个文本文件java.hprof.txt,如下图所示:

Paste_Image.png
内容如下:
CPU TIME (ms) BEGIN (total = 11542) Fri Jul 2211:00:342016rankself accum counttrace method
186.65% 86.65% 1303422 com.test.HProfTest.slowerMethod
28.66% 95.31% 1303423 com.test.HProfTest.slowMethod
30.25% 95.56% 36300745java.util.zip.ZipFile.
40.20% 95.76% 36300434java
以上就介绍了 性能分析系列-小命令保证大性能,包括了方面的内容,希望对软件测试有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_4114510.html