QCacheGrind 是一个通用的性能分析工具,可以用在PHP(XDebug工具), GoLang(pprof工具)等程序,只要生成的文件符合它的解析协议即可。
关于如何使用xdebug以及如何获取profile文件,请先阅读 https://blog.csdn.net/raoxiaoya/article/details/111984667
xdebug 官方描述:https://xdebug.org/docs/profiler
我使用的额是windows系统,下载程序 qcachegrind
qcachegrind 文档 http://kcachegrind.sourceforge.net/html/Documentation.html
解压后运行 qcachegrind.exe
点击 file --> open,选择存放 profile 文件的目录 D:\phpStudy\PHPTutorial\tmp\xdebug此时啥也看不见,但是里面有文件,切换要筛选的文件类型即可,选择cachegrind.out开头的文件。

打开之后是这样的

先贴出我的源码
<?php
ini_set('date.timezone', 'Asia/Shanghai');
function getstr():string {
$str = "QWERTYUIOPLKJHGFDSAZXCVBNM";
return $str[rand(0, strlen($str)-1)];
}
$url = 'http://220.249.103.107:20780/job-work';
$headerArr = array(
'x-token: MS8QttKgHtXT6ZbP'
);
$s = getstr();
echo date('Y-m-d H:i:s', 1596211200);
echo PHP_EOL;
echo date('Y-m-d H:i:s', 1604160000);
可以选择性能指标:耗时,内存

%号表示以百分比的形式,否则以数值的形式


caller 谁调了此函数
callee 此函数又调了哪些函数
count 调用次数
source code 源码
此时点击源码会提示无法找到文件,其实是它的目录拼接错误了。

点击call graph查看图表展示

其中 1 x 表示调用了 1 次。
右键还可以将其导出到图片。

本文介绍了如何利用Xdebug生成PHP性能分析文件,并通过QCacheGrind工具在Windows环境下进行分析。详细步骤包括设置Xdebug,生成cachegrind.out文件,然后使用qcachegrind打开并解析文件,观察函数调用、耗时和内存使用情况。通过callgraph图表,可以直观地看到程序的调用关系和性能瓶颈。

1423

被折叠的 条评论
为什么被折叠?



