5

在 Ubuntu 8.04 上使用 Apache 2.2 和 mod_perl 我在服务器上有几个应用程序。在预分叉模式下使用 Apache。通常事情运行良好,但偶尔我会看到一个 Apache 进程使用 100% 的 CPU。

服务器上有几个拥有自己的 VirtualHosts 的网站,并且有通过 Apache 运行的 SVN 服务器。

我如何追踪哪个应用程序以及该应用程序中的哪些调用产生了高负载?

4

3 回答 3

4

Devel::NYTProf几乎是目前 Perl 的首要分析器,使用Devel::NYTProf::Apache可以轻松分析 mod_perl 应用程序。

请参阅Tim Bunce:NYTProf v2 – perl 分析器的重大进步,以获得漂亮的图片概览。

不幸的是,Devel::NYTProf 没有预先打包在 Ubuntu Hardy 中。(它在 Jaunty、Karmic、Lucid 和更高版本中预先打包。)您可以使用一些适当的技巧从这些发行版中安装软件包,从 CPAN 安装,或者只是升级 ;-)

于 2010-02-03T18:47:32.713 回答
0

使用自定义日志格式或编写记录请求信息以及 PID 和资源使用信息的 PerlLogHandler。例如,参见 Randal 的Web 技术专栏 48

于 2010-02-04T02:09:55.743 回答
0

如果您在 apache 配置中启用了大型 subversion 存储库和基于路径的授权,您将看到一些长时间运行、高 CPU 的 apache 任务。您可能还会收到来自 subversion 用户的关于缓慢提交和更新的抱怨,以及 503 错误和 subversion 抱怨截断 SSL 响应。如果是这样的话,我会把颠覆作为我的主要嫌疑人。

于 2010-02-03T20:08:28.623 回答