代码说

code is poetry

代码说    
碎碎念:要做就做第一!  换一换

联合wampserver下的webgrind和xdebug对php程序进行性能分析

作者:coderzheng 发布于:2015-1-8 22:56 Thursday 分类:php  阅读模式

wampserver2.4自带了一个webgrind:

这个应用是配合xdebug一起使用的,默认情况下xdebug产生的文件需要先使用WinCacheGrind(在linux下有kcachegrind)打开,然后才能进行具体的分析。而使用webgrind可以直接通过php程序对产生的文件进行分析并显示结果。
这里给出一个实际的对CI首页进行xdebug时产生的文件进行分析的例子:

说明:
1):webgrind把所有被调用函数/方法首先做一个排序,由高到低显示。然后取出前N个,使他们耗时比率之和在90%到100%之间。图中show右侧的下拉框就是提示用户进行选择的。这里最好不要选择100%,因为100%会显示所有被调用的函数/方法,如果是个代码复杂的页面,那么webgrind偶尔会被卡死。并且通常我们只要关注耗时前几名的函数/方法即可。
2):选择profie文件,默认分析最新一次的xdebug记录。如果已经设置了xdebug并且运行过php文件多次那么下拉框中会出现多个选项,每个选项都对应一次xdebug时产生的文件。如果是对同一个文件进行多次xdebug,可以根据文件名包含的时间戳来区分。
3):in右侧的下拉框提供了三种方式来显示结果(会影响图中表格的数据单位),分别为:百分比、毫秒、微妙。
4):表格中的列
      Invocation Count:被调用执行的次数
      Total Self Cost:函数自身开销耗时,毫秒/ 微秒 /百分比(并不包含调用其他函数)
      Total Inclusive Cost:综合耗时,包括自身耗时和调用所有的其他函数的耗时
5):彩色进度条
彩色进度条是一个耗时量比较条。蓝色代表php内置函数,灰色(这里占用很小看不出)代表require/include,绿色代表类方法,橙黄色代表其他过程函数 (用户自定义函数)。

over.

标签: webgrind

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: wampserver下配置apache中的mod_status访问server-status时产生的403问题  |  下一篇:php中的Fileinfo扩展