2012-01-27 3 views
1

私のPHPアプリケーションが時折ハングする問題に遭遇しています。また、Apacheサーバーの再起動に時間がかかります。このハングアップの原因を特定する方法はありますか?私のPHPアプリケーションがApacheサーバーをハングアップさせる原因を調べる方法は?

+3

すでにPHPとApacheのエラーログを調べましたか? –

+0

はい、アクセスログとエラーログを確認する必要があります。 – World

+0

'このハングアップの原因を特定する方法はありますか? ' - はいあります。実際には多くの方法があります。しかし、正しい方向に向ける前に、問題を引き起こしているかもしれないと思われるものについて、少なくとも少し詳細を提供しなければなりません。誰かが問題の原因を推測する前に、ログやPHPコードを提供する必要があります。 – DaveRandom

答えて

7

Linuxサーバーを使用している場合は、Apacheプロセスに大きな影響を与える可能性があります。

これは、Apacheプロセスによって行われたすべてのシステムコール(およびパラメータ)を提供し、最終的にハングアップする可能性のあるものを見つけます(または、スクリプトがリソースなどを取得しようとしていることを確認しますソケットを開いてタイムアウトまで待ちます)。

あなたはそのようにそれを呼び出す:

straceの-f -p PID

はあなたが追跡したいプロセスのPIDであることのpid。

あなたのケースでは、少数のサーバーが生成されるように(必要に応じて)Apacheサーバーの構成を変更することをお勧めします。通常のpsコマンドでpidを取得します。 さらに、-p pid1 -p pid2などを追加することで、複数のpidを同時にstraceできます。 -o filenameと-ffを使用して、各プロセスstraceをfilename.pidファイルに書き込むこともできます。次に、HTTPリクエストを実行します。あなたのリクエストを処理したプロセスは、最大の.pidファイルに格納されます。

また、 'write'システムコールなどでキャプチャするテキストの長さを指定するには-s sizeを使用します。興味のある情報がない場合もあります。

読みにくいかもしれませんが、本当に役立つ情報を提供することができます。私は絶望的な状況のために頻繁にそれを使用する!

関連する問題