设为首页 收藏本站
查看: 432|回复: 0

[经验分享] WinCacheGrind配合XDebug分析PHP程序性能

[复制链接]

尚未签到

发表于 2017-3-30 07:27:50 | 显示全部楼层 |阅读模式
转自:http://www.nowamagic.net/librarys/veda/detail/2338
使用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文件有这么两处配置:
1;xdebug.profiler_enable = 0//默认是0,要改掉

2xdebug.profiler_enable = on

3;xdebug.profiler_output_name ="xdebug_profile.%R::%u"//这个格式WinCacheGrind用不了

4xdebug.profiler_output_name ="cachegrind.out.%p"



加了这两行,WinCacheGrind就能使用了。补一个全的:
1extension=php_xdebug.dll

2xdebug.profiler_enable=on

3xdebug.trace_output_dir="X:\Projects\xdebug"

4xdebug.profiler_output_dir="X:\Projects\xdebug"

5xdebug.profiler_output_name ="cachegrind.out.%p"



最后一行主要是为了和wincachegrind.out整合。
打开WinCacheGrind,将"Tools"=>"Options" =>"Main"的"working flolder" 设置为php.ini中指定xdebug.profiler_output_dir路径。然后刷新一下本地的网页,应该就可以看到下面的监控文件了。

DSC0000.png
打开在那个目录中生成的 cachegrind.out.* 就可以看到每一个过程调用执行了多长时间。
使用的话比较简单,展开左侧的树形菜单,寻找最耗时的操作,然后找到代码,就可以针对性开始优化了。比如下面对CI框架的一个应用进行性能分析。

DSC0001.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-357302-1-1.html 上篇帖子: PHP中的include_path 作用原理顺序 下篇帖子: Get IP Address using PHP(Accurate Method)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表