标签:
看到一个很有用的东东,收藏。。
http://blog.csdn.net/yukon12345/article/details/11408617
~~~~~~~~~~
使用:
设置好后就可以重启wamp来看看效果:
我们使用XDEBUG_PROFILE作为url的一个参数写在某个页面上后,转入页面,然后到xdebug.profiler_output_dir所定的路径下,就会发现生成了一个cachegrind.out.开头的文件,这就是webgrind需要分析的文件
进入webgrind主页面:页面很简单,右上角有一排下拉列表
第一项参数参数其实我也纠结了一下,怎么才容易想清楚和说明白:
webgrind把所有被调用函数/方法首先做一个排序,由高到低显示。然后取出前N个,使他们耗时比率之和在90-100%之间。
要注意的是,最好不要选择100%,这样将会显示所有被调用的函数/方法,如果是一个代码复杂的页面,那么webgrind偶尔会被卡死。并且通常我们只要关注耗时前几名的函数即可。
第二个就是选择profile文件。默认是分析最新一次的xdebug记录。如果之前设置好路径和记录机制那么我们就会发现下拉列表里有很多选项。
第三个选项是显示百分比/毫秒/微秒。
下面的彩色进度条一样的东东是耗时量比较条。蓝代表php内置函数,灰色(这里占用很小看不出)代表requir/onclude,绿代表类方法,橙黄代表类其他过程函数 (用户自定义函数)
结果查看
然后下面的分析列表的样子:(选了毫秒作为显示单位)
对于其中一些参数,我在结合我的官网翻译以及stackoverflow看到的解释是这样的:
Invocation Count
被调用执行的次数
Total Self Cost - 函数自身开销耗时 毫秒/ 微秒 /百分比(并不包含调用其他函数)
Total Inclusive Cost - 综合耗时。包括自身耗时和调用所有的其他函数的耗时
细节分析
我经过试验,才明确了解了几个数据的区别:
测试代码:
得出:
因此我们可以得出最终结论:
点击一个父函数名后出现展开:
标签:
原文地址:http://www.cnblogs.com/aguncn/p/4206511.html