WinCacheGrind配合XDebug分析PHP程序性能
2014-04-04 14:15
856 查看
使用WinCacheGrind来分析php的执行时间和效率,需要安装XDebug这个扩展。如果对XDebug不太了解的话,请先看《PHP调试利器XDebug的安装与使用》这篇文章。
WinCacheGrind是windows下的profile查看程序。所谓profile,就是程序或软件保存的档案资料,这里的profile就是xdebug生成的Log文件。WinCacheGrind 下载地址:http://sourceforge.net/projects/wincachegrind
前面说到的这篇文章已经介绍了使用XDebug时,对php.ini的配置。但是就算XDebug配置完毕,WinCacheGrind也未必能使用。请确保在php.ini文件有这么两处配置:
加了这两行,WinCacheGrind就能使用了。补一个全的:
最后一行主要是为了和wincachegrind.out整合。
打开WinCacheGrind,将"Tools"=>"Options" =>"Main"的"working flolder" 设置为php.ini中指定的路径xdebug目录。然后刷新一下本地的网页,应该就可以看到下面的监控文件了。
打开在那个目录中生成的 cachegrind.out.* 就可以看到每一个过程调用执行了多长时间。
使用的话比较简单,展开左侧的树形菜单,寻找最耗时的操作,然后找到代码,就可以针对性开始优化了。比如下面对CI框架的一个应用进行性能分析。
http://www.nowamagic.net/librarys/veda/detail/2338
WinCacheGrind是windows下的profile查看程序。所谓profile,就是程序或软件保存的档案资料,这里的profile就是xdebug生成的Log文件。WinCacheGrind 下载地址:http://sourceforge.net/projects/wincachegrind
前面说到的这篇文章已经介绍了使用XDebug时,对php.ini的配置。但是就算XDebug配置完毕,WinCacheGrind也未必能使用。请确保在php.ini文件有这么两处配置:
1 | ;xdebug.profiler_enable = 0 //默认是0,要改掉 |
2 | xdebug.profiler_enable = on |
3 | ;xdebug.profiler_output_name = "xdebug_profile.%R::%u" //这个格式WinCacheGrind用不了 |
4 | xdebug.profiler_output_name = "cachegrind.out.%p" |
1 | extension=php_xdebug.dll |
2 | xdebug.profiler_enable=on |
3 | xdebug.trace_output_dir= "X:\Projects\xdebug" |
4 | xdebug.profiler_output_dir= "X:\Projects\xdebug" |
5 | xdebug.profiler_output_name = "cachegrind.out.%p" |
打开WinCacheGrind,将"Tools"=>"Options" =>"Main"的"working flolder" 设置为php.ini中指定的路径xdebug目录。然后刷新一下本地的网页,应该就可以看到下面的监控文件了。
打开在那个目录中生成的 cachegrind.out.* 就可以看到每一个过程调用执行了多长时间。
使用的话比较简单,展开左侧的树形菜单,寻找最耗时的操作,然后找到代码,就可以针对性开始优化了。比如下面对CI框架的一个应用进行性能分析。
http://www.nowamagic.net/librarys/veda/detail/2338
相关文章推荐
- php数组
- php之curl
- PHP之输出"hello World"
- redhat 5.9下开启ftp服务
- php条件语句(2)switch...case语句
- PHP编程——我的第一个框架(初步设计)
- php 图片式报表 我百度云盘有资料
- rtp h264注意点(FU-A分包方式说明)
- PHP加载APC模块
- PHP乱码问题,UTF-8乱码常见问题小结
- php 做图像报表
- PHP学习记录----策略模式
- Yii 中使用CURL扩展
- Yii防止sql注入、xxs方法
- 关于Ecshop pages.lbi.php Xss漏洞的修复
- PHP四舍五入精确小数位及取整
- PHP 获取二维数组中某个key的集合
- php缺少mbstring拓展
- Jenkins进阶系列之——05FTP publisher plugin插件
- Jenkins进阶系列之——04Publish Over FTP Plugin插件