`
cfanbo
  • 浏览: 8328 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

启用Xdebug使用WinCacheGrind分析脚本执行时间

阅读更多
使用Xdebug调试和优化PHP程序系列教程之WinCacheGrind,教你如何利用Xdebug 配合WinCacheGrind工具来检测PHP代码的效率以及分析PHP代码。

有时候代码没有明显的编写错误,没有显示任何错误信息(如 error、warning、notice等),但是这不表明代码就是正确无误的。有时候可能某段代码执行时间过长,占用内存过多以致于影响整个系统的效 率,我们没有办法直接看出来是哪部份代码出了问题。这时候我们希望把代码的每个阶段的运行情况都监控起来,写到日志文件中去,运行一段时间后再进行分析, 找到问题所在。

回忆一下,之前我们编辑php.ini文件
加入
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="I:\Projects\xdebug"
xdebug.profiler_output_dir="I:\Projects\xdebug"

这几行,目的就在于把执行情况的分析文件写入到”I:\Projects\xdebug”目录中去 (你可以替换成任何你想设定的目录)。如果你执行某段程序后,再打开相应的目录,可以发现生成了一堆文件,例如 cachegrind.out.1169585776这种格式命名的文件。这些就是 Xdebug生成的分析文件。用编辑器打开你可以看到很多程序运行的相关细节信息,不过很显然这样看太累了,我们需要用图形化的软件来查看。

安装教程也可以参考这里:http://blog.haohtml.com/index.php/archives/3096

WinCacheGrind 下载
在Windows平台下,可以用 WinCacheGrind(wincachegrind.souceforge.net)这个软件来打开这些文件。可以直观漂亮地显示其中内容:
win_xdebug_WinCacheGrind_1
哇,非常漂亮,我们很直观地看到 index.php中我们调用了一个函数testXdebug(),testXdebug()中又调用了requireFile()函数。这样我们就可以 非常方便地查看整个脚本的程序结构。
另外,我们还可以看到每个函数被调用的次数及执行所花费的时间!这对于测试程序性能非常有用。
win_xdebug_WinCacheGrind_2
好了,这么一个简单的程序不太能 显示出Xdebug+WinCacheGrind的强大,我给出一个稍大点的例子(一个基于Zend Framework的CMS的index.php):
win_xdebug_WinCacheGrind_3
从上图可以看到:整个程序的结构, 每个函数被调用的次数,执行时间都一目了然。
win_xdebug_WinCacheGrind_4
WinCacheGrind 小结:
Xdebug提供了各种自带的函数,并对已有的某些PHP函数进行覆写,可以方便地用于调试排错;Xdebug还可以跟 踪程序的运行,通过对日志文件的分析,我们可以迅速找到程序运行的瓶颈所在,提高程序效率,从而提高整个系统的性能。
分享到:
评论

相关推荐

    WinCacheGrind 用来分析php的执行时间的软件

    用使用WinCacheGrind来分析php的执行时间和效率,你一定要安装了xdebug这个扩展. 因为xdebug和 WinCacheGrind一些单位问题,所以WinCacheGrind 显示的时间是现实运行时间的10倍,这个要注意一些啊!

    windows下安装Xdebug+WinCacheGrind

    NULL 博文链接:https://zhengdl126.iteye.com/blog/414560

    xdebug-osx, 在OSX中,用于切换/关闭xdebug的简单bash脚本.zip

    xdebug-osx, 在OSX中,用于切换/关闭xdebug的简单bash脚本 OSX的 Toggler 尽管你并不需要PHP的扩展,但是它是一个...这个简单的脚本允许切换 on 和 off Xdebug,这意味着任何人都可以通过 Homebrew 运行 PHP 和 Xdebu

    WinCacheGrind

    使用WinCacheGrind来分析php的执行时间和效率,可以看到每一个过程调用执行了多长时间。Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件现在XDebug Profile的查看程序有好几...

    2018年10月官方原版wincachegrind-1.1.0.16

    用于查看Xdebug生成的分析文件,在Windows平台下,可以用WinCacheGrind这个软件来打开这些文件,可以直观漂亮地显示其中内容。该版本是官网原版,最新的版本wincachegrind-1.10.16。

    wincachegrind-1.0.0.12.exe

    用于查看Xdebug生成的分析文件。用编辑器打开你可以看到很多程序运行的相关细节信息,不过很显然这样看太累了,我们需要用图形化的软件。在Windows平台下,可以用WinCacheGrind(下载地址...

    xdebug helper 1.6.1 crx for chrome

    xdebug helper chrome插件是一款PHP CHROME调试插件,与Zend Studio,XAMPSERVER协同工作,易于调试、分析和扩展Xdebug跟踪,使用也很简单,打开谷歌浏览器,几步就能解决。有需要的赶快下载吧! 使用方法:解压后,...

    xdebug-2.0.4.tgz

    其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数)。...

    xdebug执行分析文件cachegrind解析器

    xdebug执行分析文件cachegrind解析器 之前上传了一次,但因为该软件是一个可执行文件唯恐会被放上病毒,所以再传一个修改版(解压,重命名去掉)

    wincachegrind:WinCacheGrind 是 xdebug 2 生成的 cachegrind.out 文件的查看器。 WinCacheGrind 在功能上与 KCacheGrind 类似,只是它更简单并且可以在 Windows 上运行

    WinCacheGrind 在功能上类似于 ,只是它更简单并且可以在 Windows 上运行。 项目开始时间:2005年1月17日早上6点左右印尼西部时间 概述 这个项目是一个 -wannabe for Windows。 至少它可以为 PHP 处理cachegrind....

    WinCacheGrind.exe

    WinCacheGrind.exe,xdebug日志分析工具,优化你的php代码

    Xdebug-helper

    此扩展对于PHP开发人员非常有用,PHP开发人员使用带有Xdebug支持的PHP工具,如PHPStorm,Eclipse with PDT,Netbeans和MacGDBp或任何其他Xdebug兼容性分析工具,如KCacheGrind,WinCacheGrind或Webgrind。

    Xdebug Dll下载以及教程之Xdebug配置

    使用Xdebug调试和优化PHP程序系列教程之Xdebug配置,根据Xdebug的官方文档来详细解释Xdebug的参数配置。 Xdebug配置 第一部分:安装 预编译模块 安装预编译模块是很容易的。只需要将它们放到一个目录中,并将下面的...

    chrome浏览器调试php使用xdebug

    信用java,或者nodejs的人,一定体会过用断点调试来查找程序错误的优点与方便。php也有断点调试功能,就是配置起来有一些麻烦。 GOOGLE浏览器+XDEBUG进行PHP断点调试

    使用xdebug调试PHP程序

    使用xdebug调试PHP程序.doc

    wincachegrind

    php 效率 测试软件php 效率 测试软件php 效率 测试软件

    利用xdebug分析php程序

    利用xdebug分析php程序,找出瓶颈

    PHP调试及性能分析工具Xdebug详解

    对数据库SQL的效率,通常是数据库Query时间,但这样并不能真正定位和分析脚本执行和数据库查询的瓶颈所在?对此,有一个叫Xdebug(www.xdebug.org)的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP...

    Xdebug 生成的cachegrind 阅读器

    Xdebug 生成的cachegrind 阅读器

Global site tag (gtag.js) - Google Analytics