PHP程序性能分析 XHProf

XHProf 用于检测每个函数的调用,运行时间等情况

安装:

复制代码
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini 
#添加编译好的入配置
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`
#增加线性图工具
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
tar zxf graphviz-2.24.0.tar.gz
cd graphviz-2.24.0
./configure
make && make install
#拷贝 xhprof-0.9.2 到你的项目
复制代码

使用

复制代码
<?php
xhprof_enable();
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); //不记录内置的函数
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //记录的情况
$xhprof_on = true;

//your are code!!!


if($xhprof_on){
$xhprof_data = xhprof_disable();
$xhprof_root = dirname(__FILE__)."/";
include_once $xhprof_root."xhprof/xhprof_lib/utils/xhprof_lib.php";
include_once $xhprof_root."xhprof/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$key="onlykey";
$run_id = $xhprof_runs->save_run($xhprof_data, $key);
echo '<a href="/xhprof/xhprof_html/index.php?run='.$run_id.'&source='.$key.'">统计</a>';
}
复制代码

据说分析省资源,但生成环境还是别用.测试环境可以加上.找到瓶颈

composer 配置

"facebook/xhprof": "dev-master"

之后 php composer.phar update 即可,更方便

 

posted @   liushan  阅读(255)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示