使用xdebug对php程序性能分析

这里只是对xdebug性能优化(xdebug还可以结合其他ide断点调试等)简单描述下,详细的可以参考xdebug的官方站点 http://xdebug.org/

xdebug是什么

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。(http://baike.baidu.com/view/1823486.htm)

xdebug的安装

php的集成开发环境wampserver和xampp都已安装xdebug,不过可能没有开启,需要到php.ini中开启,通过phpinfo可以得知是否安装了xdebug的扩展;

原生的php环境(win32或者linux)如何安装xdebug,baidu或google下


xdebug跟踪性能的方式

1 使用xdebug的api xdebug_time_index() ,具体的参考http://xdebug.org/docs/basic

2 生成文件,通过工具来分析,具体的参考 http://xdebug.org/docs/profiler


生成文件的方式也有两种:

a 每次执行程序都生成一个文件

b根据get/post/cookie参数生成文件

例:http://localhost/index.php?XDEBUG_PROFILE   注意这里 一定要大写

cookie方式firebug和chrome都有插件

使用这种方式需要将xdebug.profiler_enable设置为0,并开启xdebug.profiler_enable_trigger


工具

Webgrind 这个是基于浏览器的php程序,需要分析的文件不多的情况下,可以很方便的使用

WinCacheGrind win32平台

KCacheGrindtool (Linux/Windows, KDE)


我的部分xdebug参数(没有写的属性都是有默认值的)

zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "D:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.-%s"

详细的参数说明可以参考官方文档,英文水平不行,就不翻译了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章