PHP性能分析工具 xhprof

上一篇 / 下一篇  2017-06-05 11:33:12 / 个人分类:其它

安装

下载/解压

下载地址: 
http://pecl.php.net/package/xhprof

cd /data/soft
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
tar -zxf xhprof-0.9.4.tgz

编译/安装

cd xhprof-0.9.4
cd extension/
phpize

./configure --with-php-config=/usr/local/php/bin/php-config
#上面的路径是自己本机PHP的配置文件路径

make && make install
#此处完成后会显示出 xhprof.so 所在的路径,将该文件复制到PHP扩展的目录
cp /data/soft/xhprof-0.9.4/extension/modules/xhprof.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

这里的目标地址是 php.ini 中 extension_dir 的值。如果 php.ini 中没有 extension_dir 这一项,自己添加到并配置一个目录,然后将 .so 文件复制到其中。
建立分析结果导出目录:
mkdir -p /data/xhprof/xhprof_data在 php.ini 中添加如下行:

[xhprof]
xhprof.output_dir = /data/xhprof/xhprof_data
extension = xhprof.so
mkdir -p /usr/local/php/include/xhprof/
在 php-fpm.conf 中添加:

env[XHPROF_ROOT_PATH] = /usr/local/php/include/xhprof/
#后面在PHP代码中可以通过 $_SERVER['XHPROF_ROOT_PATH'] 来引用,比较方便。

将 xhprof 解压目录下的 xhprof_lib 复制到上面目录中.此步目的是以后在程序中引用里面的类库时更方便,如果不执行该步也可以。
cp -r /data/soft/xhprof-0.9.4/xhprof_lib/ /usr/local/php/include/xhprof/xhprof_lib

yum install -y graphviz
#安装图形绘制工具,后面的结果可以通过该工具以图形显示,更直观

查看安装结果

重新加载 php 配置文件
service php-fpm reload

在 WEB 页面上查看 phpinfo 或者在命令行中执行:
php -i | grep xhprof

结果:
xhprof
xhprof => 0.9.2

分析结果查看配置

cp -r /data/soft/xhprof-0.9.4/xhprof_html/ /home/wwwroot/default/xhprof_html

#将 xhprof 自带的结果查看页面复制到本机器的WEB目录下

cp -r /data/soft/xhprof-0.9.4/xhprof_lib/ /home/wwwroot/default/xhprof_lib
#由于显示结果也用到了 xhprof_lib 里的类库,且里面的代码是按相对路径引用的,所以先直接把该库和页面放在一起

使用

在 PHP 页面顶部加上:

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS + XHPROF_FLAGS_MEMORY);

在页面底部加上:

$xhprof_data = xhprof_disable();
include_once $_SERVER['XHPROF_ROOT_PATH'] . "/xhprof_lib/utils/xhprof_lib.php";

include_once $_SERVER['XHPROF_ROOT_PATH'] . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
//数据会保存在php.ini中xhprof.output_dir设置的目录去中

$run_id = $xhprof_runs->save_run($xhprof_data, str_replace(".", "_", basename(__FILE__)));
//第二个参数是定义文件名称

分析结果

访问上面的页面后,在结果目录发现有如下文件产生:

ls -l /data/xhprof/xhprof_data/
总用量 32
-rw-r--r-- 1 www www 16080 124 21:24 548060a27725b.co_main_php.xhprof
-rw-r--r-- 1 www www 16076 124 21:24 548060a2c49f7.co_main_php.xhprof

请求页面: 
http://yourdomain/xhprof_html/index.php

页面结果:

No XHProf runs specified in the URL. 
Existing runs: 
548060a2c49f7.co_main_php.xhprof 2014-12-04 21:24:50 
548060a27725b.co_main_php.xhprof 2014-12-04 21:24:50

即上面显示的生成的结果文件。 
点击一个文件查看详细结果,得到:

PHP性能分析工具 <wbr>xhprof

PHP性能分析工具 <wbr>xhprof

转自:http://blog.sina.com.cn/s/blog_5f54f0be0102v995.html



TAG:

 

评分:0

我来说两句

Open Toolbar