web-dev-qa-db-ja.com

URLリクエストはhttpトラフィックapacheを中止しました

enter image description hereExtjsphpアプリケーションで問題が発生しています。 2つのサーバーがあり、ラウンドロビン方式で動作する負荷分散(NLB)があります。システムを使用している間、ユーザーはデータベースからデータがロードされない、またhttpリクエストが中止されるなどの問題を抱えています。どこからトラブルシューティングを開始するのか、実際にはわかりません。

Webサイトの特定のページで、ページを開いたときに、いくつかのアセット(ユーザー情報、ドロップダウン、ページ全体など)を読み込めませんでした。更新すると、ページが正常に機能したり、同じアセットセットの読み込みに失敗したり、別のアセットの読み込みに失敗したりする可能性があります。

失敗したリクエストに関するApacheログには何もありませんでしたが、Apacheの問題を示しているようだったため、Apacheを再起動しました。最初に試したときは違いはありませんでしたが、約10分後、より良い解決策がないため、もう一度試しました。奇妙なことに、問題はすぐに消えました。そしてまた1〜2日後に来ます。

また、プロセスphpを複数にしたので、異なるリクエストが異なるphpファイルを取得しますが、問題はないように見えます。

2
Farhan

問題の説明は非常に一般的でしたが、問題の原因に焦点を当てることができることがいくつかあります。

  • Chrome(F12)、FireFoxのFireBugなどを使用して、すべてのアプリのHTTPリターンコードを確認します。このタイプのエラーが発生し、どのリソースで正しい方向を示す必要があります。
  • Apacheログのテストと再チェック中に、 エラーレポート in PHPをE_ALLに設定します。
  • 関連するエラーと警告(システム、データベース、セキュリティなど)がないかすべてのログを確認してください。
  • ロードバランサーをバイパスして、サーバーに直接アクセスします。
  • アプリケーションに手動ロギング出力を追加して、機能する場所と機能しない場所を絞り込みます。

問題が断続的に発生する場合は、問題を再現する方法を見つける必要があります。 ApacheBenchまたは同様のプログラムで負荷テストを試してください。定期的に複製できるようになったら、それが発生している場所とその理由に焦点を当てるだけです。

編集:

あなたの写真からの私の推測では、おそらくエラーメッセージが出力されないようにアプリがクラッシュしたと思います(まだエラーメッセージが出力されていない場合)。クラッシュしているのが常に1つのアプリケーションである場合は、調査をその1つのアプリに限定できます。クラッシュの原因となるのは特定の入力ですか、負荷ベースですか、一見ランダムに見えますか?手動の error_log() メッセージをアプリに一時的に追加して、クラッシュしている場所を絞り込むこともできます。

1
uesp