前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php 性能分析工具 xhprof

php 性能分析工具 xhprof

作者头像
lukachen
发布2023-10-22 15:45:02
1950
发布2023-10-22 15:45:02
举报
文章被收录于专栏:LukaChen BlogLukaChen Blog

php 安装 xhprof 扩展 (兼容php5、7)

https://github.com/longxinH/xhprof

代码语言:javascript
复制
git clone git@github.com:longxinH/xhprof.git
cd xhprof/extension/
/usr/local/php7/bin/phpize 
./configure --with-php-config=/usr/local/php7/bin/php-config 
make 
sudo make install

扩展编译完成,确定一下

代码语言:javascript
复制
ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/xhprof.so

添加切片文件 vi /tmp/xhprof.prepend.php

代码语言:javascript
复制
<?php
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
define('XHPROF_START_TIME', microtime(true));

register_shutdown_function(function () {
    $xhprof_time = microtime(true) - XHPROF_START_TIME;
    $xhprof_data = xhprof_disable();
    if ($xhprof_time > 2 && !empty($xhprof_data)) { // 采样大于两秒的请求
        if (!is_dir('/tmp/xhprof/')) {
            mkdir('/tmp/xhprof/', 0777, true);
        }
        $xhprof_file = '/tmp/xhprof/' . date('YmdHis0000') . uniqid() . '.'
            . str_replace('.', '_', strtolower((isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'NOHOST')
            . '-' . (isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'NOMETHOD')))
            . '.xhprof';
        file_put_contents($xhprof_file, serialize($xhprof_data));
    }
});

vi /usr/local/php7/lib/php.ini

代码语言:javascript
复制
[xhprof]
extension=xhprof.so 
xhprof.output_dir = /tmp/xhprof
xhprof.collect_additional_info = 1
auto_prepend_file ="/tmp/xhprof.prepend.php";

配置 xhprof.com 根目录为 xhprof 仓库

重启 apache or php-fpm

查看性能报告

访问 http://xhprof.com/xhprof_html/ 就可以看到性能报告拉 :)

查看性能报告中的 [View Full Callgraph],安装 graphviz 即可

yum install graphviz

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • php 安装 xhprof 扩展 (兼容php5、7)
  • 扩展编译完成,确定一下
  • 添加切片文件 vi /tmp/xhprof.prepend.php
  • vi /usr/local/php7/lib/php.ini
  • 配置 xhprof.com 根目录为 xhprof 仓库
  • 重启 apache or php-fpm
  • 查看性能报告
  • 查看性能报告中的 [View Full Callgraph],安装 graphviz 即可
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档