Thinkphph或php如何使用Xhprof对程序进行性能分析

1,948次阅读
没有评论

共计 288 个字符,预计需要花费 1 分钟才能阅读完成。

在开发高性能的 Web 应用时,性能分析是一个不可或缺的环节。ThinkPHP 作为一个流行的 PHP 框架,提供了丰富的功能和良好的扩展性。那么如何在 ThinkPHP 项目中使用 Xhprof 工具进行性能分析呢?请查看本文,将会帮助你识别你 thinkphp 程序的性能瓶颈并进行优化。

如何安装 Xhprof

查看: 如何在 Windows 上安装 PHP 性能检测工具 XHProf

1. 配置性能分析的行为

首先,在 application/tags.php 文件中,定义性能分析的行为,并将其绑定到应用的生命周期钩子上,即:分别绑定在 app_init 应用初始化、app_end 应用结束的钩子上,以下是配置的示例:

 ['app\common\behavior\XhprofEnable',],
    // 应用开始
    'app_begin'    => [],
    // 模块初始化
    'module_init'  => [],
    // 操作开始执行
    'action_begin' => [],
    // 视图内容过滤
    'view_filter'  => [],
    // 日志写入
    'log_write'    => [],
    // 应用结束
    'app_end'      => ['app\common\behavior\XhprofDisable',],
];

2. 配置参数控制化

在 config/app.php 配置文件中添加 Xhprof 的控制参数:

// config/app.php
'xhprof' => ['enable' => true, // 开启性能分析
    'name' => 'mysite', // 项目名称,用于区分多个项目
    'domain' => 'http://www.testpf.com', // 性能分析结果展示的域名
],

3. 创建性能分析行为

接下来,创建性能分析的开始和结束行为类。这些类将在应用初始化和结束时分别触发。

开始:XhprofEnable.php

路径:application/common/behavior/XhprofEnable.php

结束:XhprofDisable.php

路径:application/common/behavior/XhprofDisable.php

save_run($xhprofData, $ns);
 
 
            // 性能分析结果展示的域名地址
            $url = config('xhprof')['domain'].'/xhprof_html/index.php';
            $url .= '?run=%s&source=%s';
            $url = sprintf($url, $runId, $ns);
            echo ' 查看分析结果 ';
            exit;
        }
    }
}

4.xhprof_lib 文件引入

将 Xhprof 的库文件 xhprof_lib 拷贝到项目的 extend 目录下,确保路径正确无误。

xhprof_lib 文件引入 - 示例图

5. 执行需要被分析的接口

在运行接口或者网页的是否,通过添加 DEBUG_PROFILE=1 参数来启动性能分析:

示例如下

https://www.toymoban.com/index/index/wswtest?DEBUG_PROFILE=1

文件:application/index/controller/Index.php,测试文件代码:

handleData();}
 
    public function handleData(){sleep(5);
        $this->haha();
        return 'ss';
    }
 
    public function haha(){sleep(2);
        return 'ss';
    }
}

运行结果

php 性能检测运行结果

6. 查看性能分析报告

完成性能分析后,可以通过点击生成的链接或直接访问部署好的分析项目来查看性能报告。报告中可以查看调用链和详细的性能数据。

查看性能分析报告 -1

查看性能报告

查看性能分析报告 -2

点击 [View Full Callgraph] 查看调用链

查看性能分析报告 -3 文章来源地址 https://www.toymoban.com/diary/php/752.html

到此这篇关于 Thinkphph 或 php 如何使用 Xhprof 对程序进行性能分析的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/php/752.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计288字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)