php7 下安装和使用xhprof性能分析工具

Xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug相似,但性能开销更低,还能够用在生产环境中,也能够由程序开关来控制是否进行profile。 php


一、安装 
参考:https://github.com/longxinH/xhprof 
下载html

git clone https://github.com/longxinH/xhprof.git
  • 1

若是没有安装git,执行以下命令git

yum  -y install git
  • 1

编译(php下的phpize编译命令)github

cd ./xhprof/extension/
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && sudo make install
  • 1
  • 2
  • 3
  • 4

注意:phpize和php-config 可能路径不一样,先搜索其路径,替换成所在路径便可。vim

二、配置php.iniphp-fpm

vim  /etc/php.ini
#增长
[xhprof]
extension = xhprof.so
xhprof.output_dir=/var/www/html/xhprof
  • 1
  • 2
  • 3
  • 4
  • 5

/var/www/html/xhprof为文件输出路径,建立目录并设置权限(必定要注意文件夹权限),不然会报错。Error: either we can not find profile data for run_id 4d7f0bd99a12f or the threshold 0.01 is too small or you do not have ‘dot’ image generation utility installed.工具

mkdir /var/www/html/xhprof
chmod 777 /var/www/html/xhprof
  • 1
  • 2

重启 php-fpm(具体命令以安装为准)性能

systemctl restart php-fpm
  • 1

查看xhprof是否安装成功测试

php -m
  • 1

三、测试网站

复制clone下的xhprof目录下的 examples,xhprof_html,xhprof_lib 到网站目录/var/www/html/。

cp examples /var/www/html/  -rp
cp xhprof_html /var/www/html/  -rp
cp xhprof_lib /var/www/html/  -rp
  • 1
  • 2
  • 3
  • 4

/var/www/html/目录有如下文件

这里写图片描述

访问http://xxxx/examples/sample.php,结果以下

复制 ?run=5b7550035bcd8&source=xhprof_foo

访问 http://xxxx/xhprof_html/index.php?run=5b7550035bcd8&source=xhprof_foo

graphviz (必定要安装)
graphviz是一个绘制图形的工具,能够更为直观的让你查看性能的瓶颈。

yum -y install libpng
yum -y install graphviz
  • 1
  • 2
  • 3
  • 4

点击 [View Full Callgraph]

根据图片中的颜色度和箭头你能很方便的看出是哪一处比较占用时间。

原文地址:https://blog.csdn.net/guyan0319/article/details/80380378