Xhprof的安装与使用

版本

V1.0

编写日期

2013.7.5

编写人












关于 XHProf

XHProf FaceBook 开发的一个函数级别的 PHP 分层分析器。数据收集部分是一个基于 C PHP 扩展,分析报告是一系列基于 PHP HTML 导航页面。XHProf 能统计每个函数的调用次数、内存使用、CPU占用等多项重要的数据。并且 XHProf 还能比较两个统计样本,或从多个数据样本中汇总结果。XHProf 是分析 PHP 程序执行效率的利器,能让我们得到更底层的的分析数据。

安装测试使用xhprof

1.下载(下载最新版本)
wgethttp://pecl.php.net/get/xhprof-0.9.3.tgz
tar zxf xhprof-0.9.3.tgz
2.安装
1)
解压后进入目录,下面有一个extention文件夹

>cp -r xhprof_html xhprof_lib <web服务器的根目录>
> cd xhprof-0.9.2/extention/
2)
phpize安装,首先找到php的安装路径下的bin下的phpize: /usr/local/php/bin/phpize
> /usr/local/php/bin/phpize
3) ./configure --with-php-config=/usr/local/php/bin/php-config
4) make && make install
最后会输出生成的.so文件的目录如:/usr/local/php/lib/extentions/no-debug-none-zts-20090626/xhprof.so
3.
配置
> vi /usr/local/php/lib/php.ini
加入如下三行:
[xhprof]

extension=xhprof.so

xhprof.output_dir=<这里是设置xhprof_log文件的目录>
4.
重起php-fpmnginx后查看phpinfo:
> /usr/local/php/bin/php -m | grep xhprof
可以查看phpinfo里的xhprof是否已安装.

5.使用xhprof

1) 在待测php文件中加入如下函数:

xhprof_enable(); //统计的代码部分之前加

如需要监测CPU和内存,则为xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

xhprof_disable();//统计的代码部分之后加

例如:


2通过xhprof_html目录的http访问url来查看结果。如:http://<域名>/xhprof_html/?run=id&source=命名空间

例如:以whm.imp.com为例


6.安装graphviz用以支持图形查看:(此步骤可省)
1)下载http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
2)解压后安装

./configure
make && make install

安装成功后,在分析结果页面点击[View FullCallgraph],出现数据分析图,如下: