web-dev-qa-db-ja.com

Apache2で遅いリクエストを監視、識別、デバッグする方法

これは、Apacheのパフォーマンスの問題をトラブルシューティングするための正しいプロセスに関する質問です。

いくつかのコンテキスト。 360MBのRAMを搭載したUbuntu8.04LTS仮想マシンを実行しています。これはLAMPWebサイトにサービスを提供します。主にWordpressに基づいています。

トラフィックはそれほど多くありません(15,000回の訪問/月、20万回のヒット/月)。しかし、時折、Apacheは暴走し、100%CPUを消費し、ディスクをスラッシングし、通常、マシンを停止させます(== Webページを提供しない、SSHコマンドに応答しないなど)

だから、私の質問は、この種の問題をデバッグすることを可能にする正しい情報を収集するためにどのように準備するのですか?

私はツールと同じようにプロセスに興味があります。

例えば; mysqlの遅いクエリログ は遅いSQLクエリをデバッグするための合理的な方法のようです。 Apacheに似たものはありますか?どのリクエストが最も遅い/最もCPU /メモリを使用しているかを表示するログツールの種類はありますか?それともこれは間違ったアプローチですか?

ありがとう!

3
David Laing

ブーバの答えはあなたが求めているものをあなたに与えるでしょう、しかし私はあなたが間違ったことを求めているかもしれないと思います。

Apacheを介した遅いリクエストは問題ではなく、効果です。 Apacheが大量のメモリを消費することを許可したように聞こえます。その後、ボックスがスワップを開始し、ディスクをスラッシングします。 Apacheのチューニングは科学ではなく芸術であるため、すべての人に有効なコピー/貼り付け構成はありませんが、開始するための良い記事があります: LAMP @ O'Reillyのチューニング

それが終わったら、メモリとCPU負荷を監視するためのMuninの設定を見てください。

2
Justin Ellison