如何跟踪和分析 mod_perl 或 mod_php 应用程序使用的所有低级调用(c 库)?
Posted
技术标签:
【中文标题】如何跟踪和分析 mod_perl 或 mod_php 应用程序使用的所有低级调用(c 库)?【英文标题】:How to trace and profile all low level calls (c libraries) being used by a mod_perl or a mod_php application? 【发布时间】:2009-01-23 15:16:52 【问题描述】:我曾经在一个网站上看到过一个调用图,该调用图挖掘了由 php 应用程序发起的 Web 请求的最底层库,其中包含调用时间和摘要。在我看来,这是在分析纯 PHP 代码时发现不明显的瓶颈原因的好方法。
类似于 strace 的东西,但细节要多得多。
【问题讨论】:
【参考方案1】:Rasmus 在他的演讲中多次提到valgrind。如果我没记错的话,它会测量 IO、内存等。可能想看看。
【讨论】:
Rasmus 将 valgrind 与 callgrind 和 KCachegrind 结合使用。这些工具可以在任何基于 C 的系统上使用,包括 Perl 和 mod_perl【参考方案2】:VTune 之类的工具在这里可以提供帮助。您可以将此工具指向要分析的流程或系统,它将有助于找到性能热点。 VTune 也有调用图模式。
【讨论】:
以上是关于如何跟踪和分析 mod_perl 或 mod_php 应用程序使用的所有低级调用(c 库)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mod_perl2 下运行 Devel::Cover?
如何在 OS X Yosemite 上的 Apache 2.4 中安装 mod_perl 2.0.9?