安装xhprof查找PHP性能瓶颈

  • 2018-05-04
  • 0
  • 0

安装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

下面是效果图:

image

点击 [View Full Callgraph] 就可以查看调用关系链图,红色的部分为性能比较低,耗时比较长的部分,我们可以根据根据哪些函数被标记为红色对系统的代码进行优化。

评论

还没有任何评论,你来说两句吧