Xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug相似,但性能开销更低,还能够用在生产环境中,也能够由程序开关来控制是否进行profile。 php
一、安装
参考:https://github.com/longxinH/xhprof
下载html
git clone https://github.com/longxinH/xhprof.git
若是没有安装git,执行以下命令git
yum -y install git
编译(php下的phpize编译命令)github
cd ./xhprof/extension/ /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config make && sudo make install
注意:phpize和php-config 可能路径不一样,先搜索其路径,替换成所在路径便可。vim
二、配置php.iniphp-fpm
vim /etc/php.ini #增长 [xhprof] extension = xhprof.so xhprof.output_dir=/var/www/html/xhprof
/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
重启 php-fpm(具体命令以安装为准)性能
systemctl restart php-fpm
查看xhprof是否安装成功测试
php -m
三、测试网站
复制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
/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
点击 [View Full Callgraph]
根据图片中的颜色度和箭头你能很方便的看出是哪一处比较占用时间。
原文地址:https://blog.csdn.net/guyan0319/article/details/80380378