php7下 xhprof安装与使用

需要测试下 代码的性能,使用了 xhprof + xhgui

1. 下载xhprof,

这里下载吧 :https://github.com/longxinH/xhprof.git

2, 安装

cd xhprof/extension/

/usr/local/php/bin/phpize ./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof

make&&make install

3.修改 php.ini 文件

php -i | grep php.ini 
[xhprof]
extension=xhprof.so
xhprof.output_dir=/data/www/xhprof/save_output_dir //该目录自由定义即可,用来保存xhprof生成的源文件


重启php-fpm
kill -USR2 `cat /opt/php-7.0.14/var/run/php-fpm.pid`
//切换到下载的 xhprof 目录
cp -r xhprof/xhprof_html  ROOT_PATH/
cp -r xhprof/xhprof_lib ROOT_PATH/

xhprof_enable(); //你需要分析的代码

$xhprof_data = xhprof_disable();

include_once ROOT_PATH.'/xhprof_lib/utils/xhprof_lib.php';

include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php';

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test"); //将run_id保存起来或者随代码一起输出

yum install graphviz
查看结果
$host_url/xhpfrof_html/index.php?run=58d3b28b521f6&source=xhprof_test
  1. Calls / Call Count:函数被调用的次数
  2. Incl. Wall Time / Wall Time:执行该函数(包括子函数)耗费的时间
  3. Incl. MemUse / Memory Usage:该函数(包括子函数)占用的内存
  4. Incl. PeakMemUse / Peak Memory Usage:函数(包括子函数)占用内存的峰值
  5. Incl. CPU / CPU:执行该函数(包括子函数)花费的CPU时间
  6. Excl. Wall Time / Exclusive Wall Time:函数本身(不包括子函数)耗费的时间
  7. Excl. MemUse / Exclusive Memory Usage:函数本身(不包括子函数)占用的内存
  8. Excl. PeakMemUse / Exclusive Peak Memory Usage:函数本身(不包括子函数)耗费内存的峰值
  9. Exclusive CPU:函数本身(不包括子函数)花费的CPU时间