私は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
を実行して、これを見つけました。
問題が見つかりました。これはMagentoのコードの問題でした。拡張子が正しくないため、画像のサイズ変更機能で画像を開くことができませんでした(これは、jpg拡張子のBMP)でした)。このエラーハンドラーは、サイズ変更を再度呼び出していました。ループ。誤動作しているApacheプロセスでstraceを実行することにより、これを見つけました。
おそらく、Apacheは古く、最近の範囲要求の脆弱性に対して脆弱であり、誰かまたは何かが現在それを悪用していますか?