5

Ubuntu 8.04 で Apache 2.2 と mod_perl を使用して、サーバー上にいくつかのアプリケーションを持っています。pre-forking モードでの Apache の使用。通常は問題なく動作していますが、たまに Apache プロセスの 1 つが CPU を 100% 使用しているのを見かけます。

サーバーには独自の VirtualHosts を持つ Web サイトがいくつかあり、Apache 経由で実行されている SVN サーバーがあります。

どのアプリケーションと、そのアプリケーションのどの呼び出しが高負荷を生成しているかを追跡するにはどうすればよいですか?

4

3 に答える 3

4

Devel::NYTProfは、 mod_perl アプリケーションを簡単にプロファイリングするためのDevel::NYTProf::Apacheとともに、現在 Perl の主要なプロファイラーです。

Tim Bunce: NYTProf v2 – A majoradvance in perl profilersを参照して、写真付きのかなりの概要を確認してください。

残念ながら、Devel::NYTProf は Ubuntu Hardy にあらかじめパッケージ化されていません。(これは、Jaunty、Karmic、Lucid、およびそれ以降で事前にパッケージ化されています。) これらのディストリビューションからパッケージをインストールする、CPAN からインストールする、または単にアップグレードするために、いくつかの適切なトリックを使用できます ;-)

于 2010-02-03T18:47:32.713 に答える
0

大規模なSubversionリポジトリとパスベースの認証がapache構成で有効になっている場合、実行時間の長い、CPUの高いapacheタスクがいくつか表示されます。おそらく、コミットと更新が遅いことについてのSubversionユーザーからの苦情、および切り捨てられたSSL応答についての503エラーとSubversionの苦情もあります。もしそうなら、私は転覆を第一容疑者にします。

于 2010-02-03T20:08:28.623 に答える
0

カスタム ログ形式を使用するか、PID およびリソース使用情報と共に要求情報を記録する PerlLogHandler を記述します。たとえば、Randal のWeb Techniques Column 48を参照してください。

于 2010-02-04T02:09:55.743 に答える