使用XDebug和WinCacheGrind分析PHP性能

在优化php代码执行效率的过程中,有个好办法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件,方法参见前面的文章 学习使用XDebug. 现在XDebug Profile的查看程序有好几个,在这里罗列一下:

WinCacheGrind
    WinCacheGrind是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。
    高春辉的博客上提醒大家:
引用

最近又开始拿 Xdebug 和 wincachegrind 对项目的 PHP 代码进行分析和优化,但是发现和自己输出的执行时间总是相差十倍,差的不是零头,而是十倍。
上网搜索了一下,原来在 Xdebug 2.0.0RC4 版本开始,对Profiler日志中的时间单位进行了修改。(Use µ seconds instead of a tenths of µ seconds to avoid confusion in profile information.)
恰恰WinCacheGrind又不再升级维护了,所以凡是用 2.0.0RC4 以及之后版本的 XDebug 输出的Profiler日志用WinCacheGrind来分析的话,都会有十倍的时间差距。

他已经提供了hack后的版本,可以解决时间差距的问题,有兴趣的同学可以试试。

CachegrindVisualizer
    CachegrindVisualizer是一个xdebug的profile文件查看客户端,采用Adobe的AIR制作。

KCachegrind
    KCachegrind是linux下的一个图形化profile查看工具,功能很强劲。

WebGrind
    WebGrind和WinCacheGrind的功能差不多,但是WebGrind是基于web的,采用php写的查看工具。看了一下代码,跑在linux的服务器比较好。
    WebGrind是一个基于PHP5的Xdebug profiling的Web前端工具。它仅仅实现了KCachegrind的特性子集,但是安装简单可以工作在几乎所有平台上。

下面是用WinCacheGrind查看Magento的profile抓图:
使用XDebug和WinCacheGrind分析PHP性能

你可能感兴趣的:(PHP,linux,Web,Google,AIR)