Total Pageviews

Thursday, 7 September 2017

用xdebug对php进行程序性能分析

在php开发中,可以使用xdebug对php项目进行性能分析、查找性能瓶颈。xdebug的分析结果可以精确到具体的函数调用次数等。xdebug官网:http://xdebug.org, 目前版本2.1

1、下载安装

1svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug
2cd xdebug
3/usr/local/php/bin/phpize
4./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
5make && make install

2、修改配置文件 php.ini ,增加如下配置:

1[Xdebug]
2zend_extension="/usr/lib/php/xdebug.so"
3zend_extension_ts="/usr/lib/php/xdebug.so"
4xdebug.profiler_enable=on
5xdebug.trace_output_dir="/tmp/xdebug"
6xdebug.profiler_output_dir="/tmp/xdebug"
7xdebug.profiler_output_name="script"
这里注意: 对于 php5.3和php5.2的近期版本,需要使用zend_extension加载扩展,其他版本需要使用zend_extension_ts加载。在具体配置时可根据自己的环境配置其中之一即可。

3、验证安装和配置

安装、配置完成后,重启php环境,然后使用 phpinfo() 查看配置信息中是否已经加载xdebug模块,如果没有就是安装或配置过程有问题,需要仔细检查。

4、利用Windows软件对采集结果进行分析

去 http://sourceforge.net/projects/wincachegrind/ 下载最新版的wincachegrind软件并安装之。
将你的php项目的连接尽可能全部浏览一遍,或者将你怀疑性能问题的部分浏览一遍,然后将/tmp/xdebug下的文件复制出来。
用wincachegrind打开复制过来的每个文件,就可以看到分析结果。更具体的,不用说了吧:)
提示:请不要再生产环境使用xdebug,否则会降低系统性能,同时会让硬盘已使用空间剧烈增长,后果,你知道的….

No comments:

Post a Comment