XHProf 分析 - 如何获取分层配置文件?

Posted

技术标签:

【中文标题】XHProf 分析 - 如何获取分层配置文件?【英文标题】:XHProf profiling - How to get hierarchical profile? 【发布时间】:2018-06-15 08:06:54 【问题描述】:

当我点击我的 Drupal 应用程序的搜索 URL 时,我可以看到 CPU 使用率很高。我在 php5.6 上启用了 XHProf 模块和 UProfiler 扩展来查找罪魁祸首函数。

但是我得到的报告只给了我需要 cpu 时间的第一级功能。

但是,函数名称上没有超链接可以单击它并向下钻取。关于可以做些什么来深入研究的任何建议?

基本上它只显示平面配置文件,我如何获得分层配置文件视图?

【问题讨论】:

【参考方案1】:

你应该看看 php-spx https://github.com/NoiseByNorthwest/php-spx

这是一个(跟踪/采样)分析器,随其 Web UI 一起提供,允许深入分析分析报告(交互式时间线、平面分析、Flamegraph)。

免责声明:我是作者。

【讨论】:

+1 感谢构建工具。问题:在 I/O 或系统调用期间可以进行采样吗?意见:希望如此。此外,准确性以及采样频率的所有问题都被高估了。如果有一个速度错误需要花费足够大 % 的时间来值得修复,它会出现在中等数量的样本中。 采样是同步完成的,与 Xhprof 大致相同。不用担心,任何执行时间长于采样周期的函数调用都保证至少收集到它的结束堆栈。因此,将监控较长的阻塞函数,甚至比较短的函数更准确(误差范围更小)。【参考方案2】:

这完全可以通过 Xhprof 附带的本机 GUI 实现,您只需使 xhprof_html 目录可以从您的文档根目录访问。

【讨论】:

以上是关于XHProf 分析 - 如何获取分层配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何识别 Xhprof 的瓶颈?

如何读取 .xhprof 文件?

使用XHProf分析PHP性能瓶颈

Xhprof分析php性能

使用XHProf分析PHP性能瓶颈

PHP性能追踪及分析工具xhprof的安装与使用