Xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。
1、安装
参考:https://github.com/longxinH/xhprof
下载
git clone https://github.com/longxinH/xhprof.git
如果没有安装git,执行如下命令
yum -y install git
编译
cd ./xhprof/extension/
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && sudo make install
注意:phpize和php-config 可能路径不同,先搜索其路径,替换成所在路径即可。
2、配置php.ini
vim /etc/php.ini
#增加
[xhprof]
extension = xhprof.so
xhprof.output_dir=/var/www/html/xhprof
/var/www/html/xhprof为文件输出路径,创建目录并设置权限
mkdir /var/www/html/xhprof
chmod 777 /var/www/html/xhprof
重启 php-fpm
systemctl restart php-fpm
查看xhprof是否安装成功
php -m
3、测试
复制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://192.168.3.120/examples/sample.php,结果如下
复制 ?run=5b010b6b535fc&source=xhprof_foo
访问 http://192.168.3.120/xhprof_html/index.php?run=5b010b6b535fc&source=xhprof_foo
graphviz
graphviz是一个绘制图形的工具,可以更为直观的让你查看性能的瓶颈。
yum -y install libpng
yum -y install graphviz
点击 [View Full Callgraph]
根据图片中的颜色度和箭头你能很方便的看出是哪一处比较占用时间。