xhprof - PHP性能追踪及分析工具

环境

Mac + PHP7 + Nginx

安装

这里采用的 pecl 方式安装

// 下载
wget https://pecl.php.net/get/xhprof-2.1.3.tgz
// 安装
pecl install xhprof-2.1.3.tgz

配置 php.ini

[xhprof]
extension=xhprof.so
# 报告文件存储位置,推荐配置一下。不配的话会使用'系统临时目录' - 从源码的 `$dir = sys_get_temp_dir();` 得知
xhprof.output_dir=/var/www/xhprof/xhprof_runs/

检查

  1. php -m
  2. phpinfo() (记得重启php-fpm)

使用示例

xhprof_enable(XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU);
/**
...
被检查的php代码
...
**/
$xhprof_data = xhprof_disable();

// 引入xhprof | 这里的绝对路径可以自己 `find / -name xhprof_runs.php` 搜索下
include_once "/usr/local/share/pear/xhprof_lib/utils/xhprof_lib.php";
include_once "/usr/local/share/pear/xhprof_lib/utils/xhprof_runs.php";

$instance = new XHProfRuns_Default(); // 有命名空间的项目可能需要这样写 $instance = new \XHProfRuns_Default();
$run_id = $instance->save_run($xhprof_data, "xhprof");
var_dump($run_id);

配置查看页面

  1. nginx 配置
server {
    listen 80;
    server_name xhprof.test.com;
    root /usr/local/share/pear/xhprof_html;
    index index.html index.php;
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}
  1. 查看


相关链接

  1. package xhprof : https://pecl.php.net/package/xhprof
  2. github xhprof :https://github.com/longxinH/xhprof
  3. 参考链接 :https://www.jianshu.com/p/38e3ae81970c
  4. XHProf 报告字段含义解析 :https://www.jb51.net/article/84456.htm

你可能感兴趣的:(xhprof - PHP性能追踪及分析工具)