使用XDebug对PHP进行性能分析

在对PHP代码进行断点调试时,曾经使用过XDebug。最近才知道XDebug还可以对PHP Web代码进行性能分析。下面大概介绍一下使用方法。

 

首先需要下载XDebug,可以链接该地址http://www.xdebug.com/download.php。这里面需要注意,所下载的XDebug版本必须和你所使用的PHP版本吻合,否则会造成系统崩溃。如果系统崩溃了,就下载其他版本试试看。我下载的是Windows版的适用于PHP5.2.8的dll文件,下载完成之后,我把文件名改为“php_xdebug.dll”。

 

然后需要把php_xdebug.dll放置到php的ext录里,在我们本机上是“C:\wamp\bin\php\php5.2.8\ext”。我安装的是WampServer,而且安装在C盘根目录。

 

接下来,需要修改php.ini文件。在文件最末尾添加如下内容:

 

[Xdebug]

zend_extension_ts="C:/wamp/bin/php/php5.2.8/ext/php_xdebug.dll"

xdebug.auto_trace=1

xdebug.collect_params=1

xdebug.collect_return=1

xdebug.trace_output_dir="D:/temp/xdebug"

xdebug.profiler_enable=1

xdebug.profiler_output_dir="D:/temp/xdebug"

xdebug.profiler_output_name="cachegrind.out.%t"

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.remote_host=localhost

xdebug.remote_port=9000

 

“xdebug.profiler”选项就是告诉XDebug要对PHP代码进行性能分析。分析结果会输出到“D:\temp\xdebug”目录下,文件是以“cachegrind.out.时间戳”命名。

 

最后,重启Apache服务器。如果重启过程没有遇到错误就算大功告成。通过phpinfo函数可以看到XDebug配置信息,如图1所示:

 

 2010062622381591.png

(图1)

 

我们可以通过请求本地上的一个页面试验一下。在D:\temp\xdebug目录下冒出来两个文件:

  • cachegrind.out.1277560600
  • trace.3495983249.xt

“1277560600”是时间戳,这个值就是“xdebug.profiler_output_name="cachegrind.out.%t"”中的“%t”。这两个文件都是文本文件,你可以通过记事本查看里面的内容。不过很遗憾,这里面的内容很难看懂。但也很幸运,有工具可以帮助我们看懂这两个文件。http://www.xdebug.com/docs/profiler这个地址中介绍了三个分析工具KCacheGrind(适用于Linux)、WinCacheGrind(适用于Windows)和Webgrind(Web页面方式)。

 

我选用了Webgrind。到http://code.google.com/p/webgrind/下载,然后解压到Apache网站根目录下(也就是htdocs目录下)即可,基本上不需要修改任何配置。运行http://127.0.0.1/webgrind,就可以查看性能分析记录。如图2所示:

 

2010062622385250.png 

(图2)

转载于:https://www.cnblogs.com/afritxia2008/archive/2010/06/26/1765955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值