web-dev-qa-db-ja.com

Apacheはトラフィックなしで100%で処理します-何が起こっているのかをどうやって見ることができますか?

私はApacheを実行しているサーバーを持っていて、時折Apacheプロセスが100%になり、そこにとどまるのを見てきました。今日、2つのプロセスが100%であるため、サーバーへの外部アクセスをオフにしました(Apacheへのそれ以上の要求を防ぐため)。 5分後、サーバーにリクエストは届きませんが、両方のプロセスは100%のままです。

各プロセスでlsofを実行しましたが、約9000行の出力が得られました(ギリシャ語の場合もあります)。他のプロセスが奇妙に動作したり、待機しているようには見えません。

私のデータベースは2番目のサーバーにあります。 mytopを使用すると、Apacheサーバーからアクティブな2つのMySQL接続が表示され、どちらも「スリープ」状態になります。それらのMySQLスレッドの1つを強制終了しましたが、Apacheサーバーのどちらのプロセスにも変更はありませんでした。

このApacheサーバーは、単純なロードバランサーの背後にある2つのうちの1つです。それが関係しているのかどうかはわかりません。

Apacheの問題がデータベースサーバーに表示されているものに関連していることを確認するにはどうすればよいですか?そして、これは危険なSQL呼び出し、または他の何かの結果である可能性がありますか?

編集:問題が見つかりました。これはMagentoのコードの問題でした。拡張子が正しくないため、画像のサイズ変更機能で画像を開くことができませんでした(これは、jpg拡張子のBMP)でした)。このエラーハンドラーは、サイズ変更を再度呼び出していました。ループ。誤動作しているApacheプロセスでstraceを実行して、これを見つけました。

5
Dave Child

問題が見つかりました。これはMagentoのコードの問題でした。拡張子が正しくないため、画像のサイズ変更機能で画像を開くことができませんでした(これは、jpg拡張子のBMP)でした)。このエラーハンドラーは、サイズ変更を再度呼び出していました。ループ。誤動作しているApacheプロセスでstraceを実行することにより、これを見つけました。

1
Dave Child

おそらく、Apacheは古く、最近の範囲要求の脆弱性に対して脆弱であり、誰かまたは何かが現在それを悪用していますか?

0