zoukankan      html  css  js  c++  java
  • WinCacheGrind配合XDebug分析PHP程序性能

    使用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,要改掉
    2 xdebug.profiler_enable = on
    3 ;xdebug.profiler_output_name = "xdebug_profile.%R::%u" //这个格式WinCacheGrind用不了
    4 xdebug.profiler_output_name = "cachegrind.out.%p"

    加了这两行,WinCacheGrind就能使用了。补一个全的:

    1 extension=php_xdebug.dll
    2 xdebug.profiler_enable=on
    3 xdebug.trace_output_dir="X:Projectsxdebug"
    4 xdebug.profiler_output_dir="X:Projectsxdebug"
    5 xdebug.profiler_output_name = "cachegrind.out.%p"

    最后一行主要是为了和wincachegrind.out整合。

    打开WinCacheGrind,将"Tools"=>"Options" =>"Main"的"working flolder" 设置为php.ini中指定的路径xdebug目录。然后刷新一下本地的网页,应该就可以看到下面的监控文件了。

     

    打开在那个目录中生成的 cachegrind.out.* 就可以看到每一个过程调用执行了多长时间。

    使用的话比较简单,展开左侧的树形菜单,寻找最耗时的操作,然后找到代码,就可以针对性开始优化了。比如下面对CI框架的一个应用进行性能分析

     
  • 相关阅读:
    优秀大整数
    洛谷—— P3908 异或之和
    洛谷—— P1869 愚蠢的组合数
    洛谷—— P1680 奇怪的分组
    洛谷—— P1609 最小回文数
    Something I like
    数学相关
    新博客测试中~
    P3369 【模板】普通平衡树
    2017 11.6 NOIP模拟赛
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4016087.html
Copyright © 2011-2022 走看看