zoukankan      html  css  js  c++  java
  • 使用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所示:

     

    (图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所示:

     

    (图2)

  • 相关阅读:
    二分查找算法
    js 分享QQ、QQ空间、微信、微博
    linux安装redis
    redis linux开机启动 (简单高效)
    js 自定义阻止事件冒泡函数
    js常见删除绑定的事件
    js自定义方法绑定元素事件
    js 中 attachEvent 简示例
    idea无法正常显示jsp页面
    get请求的时候特殊符号的注意事项
  • 原文地址:https://www.cnblogs.com/afritxia2008/p/1765955.html
Copyright © 2011-2022 走看看