`
hudeyong926
  • 浏览: 2032809 次
  • 来自: 武汉
社区版块
存档分类
最新评论

使用XDebug和WinCacheGrind分析PHP性能

 
阅读更多

WEB性能日志工具

1.MYSQL慢查询日志

2.Xdebug日志

说道PHP代码调试,对于有经验的PHPer,通过echo、print_r、var_dump函数,或PHP开发工具zend studio、editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具
Xdebug作为PHP调试工具,提供了丰富的调试函数,也可将Xdebug安装配置为zend studio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码。今天和大家分享PHP调试工具Xdebug安装以及配置方面的基础知识。

Xdebug安装教程
下载Xdebug       http://xdebug.org
首先我们需要下载Xdebug,务必根据安装的PHP版本,选择合适的Xdebug版本 ,如果你不清楚安装的PHP版本,你可以通过phpinfo()函数参看
安装Xdebug
将下载的php_xdebug-2.1.0-5.3-vc6.dll复制到PHP安装目录下的ext目录,ext目录专门用来存放PHP扩展库DLL文件。
配置php.ini
安装Xdebug的最后一步就是配置php.ini文件,在末尾添加

[Xdebug]
zend_extension="c:/php/ext/php_xdebug-2.1.0-5.3-vc6.dll"

最后重启Apache服务器,通过phpinfo()函数,可以看到


利用Xdebug测试脚本执行时间

使用Xdebug_time_index()来显示时间

测试脚本占用的内存:

xdebug_memory_usage()

xdebug还提供了一个xdebug_peak_memory_usage()来查看内存占用的峰值

Xdebug部分配置选项说明
xdebug.auto_trace = 1
是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0

collect_params = 1
是否允许Xdebug跟踪函数参数,默认值为0

xdebug.collect_return = 1
是否允许Xdebug跟踪函数返回值,默认值为0

xdebug.profiler_enable = 1
打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0

xdebug.profiler_output_dir
性能分析文件的存放位置,默认值为/tmp

xdebug.profiler_output_name
性能分析文件的命名规则,默认值为cachegrind.out.%p

xdebug.trace_output_dir
函数调用跟踪信息输出文件目录,默认值为/tmp

xdebug.trace_output_name
函数调用跟踪信息输出文件命名规则,默认为trace.%c


特别说明:Xdebug的trace和profiler的输出文件名规则是可以更改的,比如将文件名命名为具体跟踪的PHP执行文件名、进程ID、随机数等,非常方便,更多的Xdebug配置选项说明,请参考官网的Xdebug配置选项说明。
至此PHP调试工具Xdebug教程之Xdebug的安装和配置就介绍完了,今后还将陆续介绍Xdebug如何在zend studio以及editplus中配置使用。

Xdebug的crontab定时删除一天之前的日志文件,只在测试环境装

0 0 * * * find /tmp/xdebug/ -ctime 1 |xargs rm -f 

在优化php代码执行效率的过程中,有个好办法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件现在XDebug Profile的查看程序有好几个

WinCacheGrind是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。

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

分享到:
评论

相关推荐

    windows下安装Xdebug+WinCacheGrind

    在Windows环境下,安装Xdebug和WinCacheGrind是开发者为了进行PHP性能分析的重要步骤。Xdebug是一个强大的PHP扩展,主要用于调试和性能分析,而WinCacheGrind则是一个可视化的工具,用于解析Xdebug生成的profiling...

    wincachegrind

    WincacheGrind则是Xdebug生成的 profiling 数据的可视化界面,两者结合使用,可以提供一个完整的PHP性能分析解决方案。当Xdebug在PHP运行时收集到profiling信息后,WincacheGrind会将这些信息解析并以直观的图形化...

    WinCacheGrind

    WinCacheGrind是一款强大的性能分析工具,主要用于PHP应用程序,它与Xdebug扩展配合使用,帮助开发者深入了解代码执行的效率和耗时。Xdebug是一个广泛使用的PHP调试器和分析器,可以收集运行时的信息,包括函数调用...

    xdebug--PHP调试工具

    Xdebug是一款针对PHP的强大的调试工具,由Derick Rethans开发,旨在帮助开发者进行代码调试、性能分析和优化。它提供了丰富的功能,包括断点调试、变量查看、调用堆栈跟踪、代码覆盖率分析等,是PHP开发不可或缺的一...

    Xdebug 生成的cachegrind 阅读器

    Xdebug与Cachegrind结合使用,是PHP性能分析的利器。Wincachegrind作为Cachegrind报告的可视化工具,使得分析过程更为直观,大大简化了性能优化的工作。了解和熟练运用这些工具,对于提升PHP应用程序的性能至关重要...

    利用xdebug分析php程序

    在分析过程中,我们可以使用WinCacheGrind打开这些文件,它会以图形化的方式展示每个函数的执行时间和调用关系。例如,如果我们发现(tags.php_cachegrind.out)文件中的/tag/tags.php耗时最长,达到840ms,那么我们就...

    WinCacheGrind.exe

    通过深入理解WinCacheGrind和Xdebug的结合使用,开发者可以有效地识别和解决PHP代码中的性能问题,提高应用程序的运行效率。这不仅对个人技能提升有帮助,也能显著提高团队的工作效率,降低服务器成本。因此,掌握这...

    xdebug执行分析文件cachegrind解析器

    总结来说,Xdebug的Cachegrind功能和WincacheGrind解析器是PHP开发者进行性能优化的强大工具。它们能帮助我们深入理解代码执行的细节,找到性能瓶颈,进而提升应用程序的效率。在使用过程中,确保从官方渠道获取和...

    php xDebug调试组件

    Xdebug提供了诸如断点调试、变量查看、调用堆栈分析等功能,同时还支持代码覆盖分析和内存使用报告,这对于优化代码和追踪性能瓶颈大有裨益。 ### 安装Xdebug 安装Xdebug时,需要确保选择与当前PHP版本兼容的版本...

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

    3. **性能分析**:Xdebug可以生成代码覆盖率报告,帮助识别未被测试的代码,同时通过profiler功能生成cachegrind格式的性能分析报告,便于使用如WinCacheGrind等工具进行可视化分析。 4. **内存分析**:Xdebug可以...

    php性能优化分析工具XDebug 大型网站调试工具

    XDebug是一款针对PHP的强大的性能分析和调试工具,尤其适合大型网站的开发和维护。它提供了丰富的功能,帮助开发者深入理解代码的运行情况,找出性能瓶颈,并解决PHP代码中的各种问题。 **安装配置XDebug** 1. ...

    phpStorm+XDebug+chrome 配置详解

    如果需要进行性能分析,可以使用wincachegrind工具读取XDebug生成的性能文件: - 下载并安装wincachegrind。 - 运行wincachegrind后,通过Tools > options设置working folder,该值应与php.ini文件中xdebug....

    PHP中opcode缓存简单用法分析

    3. PHP是解释型语言:PHP是一种解释型语言,其运行原理与编译型语言相似,包含了词法分析、语法分析和语义分析等过程。PHP解释器的核心引擎是Zend引擎。 4. 查看PHP代码的opcode:要查看PHP代码的opcode,可以安装...

Global site tag (gtag.js) - Google Analytics