安装xhprof查找PHP性能瓶颈
安装xhprof查找PHP性能瓶颈
作者:黄志成
博客:地址
XHProf是facebook 开发的一个测试php性能的扩展。
安装环境:
Centos 7.2
Nginx
PHP7
官方的貌似不支持PHP7。这里用别人修改的版本.支持PHP7.x
地址:GitHub
安装方式:
git clone https://github.com/longxinH/xhprof.git ./xhprof
cd xhprof/extension/
/path/to/php7/bin/phpize
./configure --with-php-config=/path/to/php7/bin/php-config
make && sudo make install
在使用之前,请先确保服务器安装了graphviz工具,否则在生成监控图表的时候会报错。
sudo yum install graphviz
安装好之后,我们来把它加入Thinkphp5框架来查找性能的瓶颈.
首先先将xhprof的相关文件导入到项目中。
cp -r ./xhprof/xhprof_html /wwwroot/api/public/xhprof/
cp -r ./xhprof/xhprof_lib /wwwroot/api/public/xhprof/
然后在应用入口文件加上监控的代码
<?php
xhprof_enable(); //开始的标志
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
$xhprof_data = xhprof_disable(); // 结束标志
include_once 'xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once 'xhprof/xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");
好啦。这样就可以查看我们接口调用的过程以及性能
我们访问这个地址就可以查看
http://localhost/xhprof/xhprof_html/index.php
下面是效果图:
点击 [View Full Callgraph] 就可以查看调用关系链图,红色的部分为性能比较低,耗时比较长的部分,我们可以根据根据哪些函数被标记为红色对系统的代码进行优化。
发表评论