複数のサーバーで、Apache モジュール mod_fcgid を使用して、リクエストを処理する cgi スクリプトを提供し (チケットの検証と同様の処理)、処理の結果に基づいてサーバー上のファイルを提供するという問題があります。
ログに次のエラーが繰り返し記録されます。
[Mon Jan 30 23:11:41 2012] [warn] [client 95.35.160.193] mod_fcgid: error reading data, FastCGI server closed connection
[Mon Jan 30 23:11:41 2012] [warn] [client 95.35.160.193] (32)Broken pipe: mod_fcgid: ap_pass_brigade failed in handle_request_ipc function
[Mon Jan 30 23:13:34 2012] [warn] [client 37.8.52.128] mod_fcgid: can't apply process slot for /var/www/cgi-bin/assetx.fcgi
これらの問題により、サーバーが遅くなり、サービスが一時的に利用できないというエラーが発生する場合もあります。
サーバーには大量のトラフィックがあります。現在、次の fcgi ディレクティブを次のように構成しています。
FcgidMaxRequestsPerProcess 0
FcgidMaxProcesses 300
FcgidMinProcessesPerClass 0
FcgidIdleTimeout 240
FcgidIOTimeout 240
FcgidBusyTimeout 300
サーバーの平均負荷は正常で、プロセス数は平均 250 プロセスです。
私はこの問題について何日も調査を行ってきましたが、許可の問題だと言う人もいます。彼らの提案に従いましたが、役に立ちませんでした。上記のパラメーターを調整しようとしましたが、これらは私が試した最終的な値ですが、うまくいきませんでした。また、Apache の代わりに nginx を使用しようとしていますが、nginx を使用してサーバー上でこの高負荷で cgi スクリプトを実行する適切な方法が見つかりません。
この問題を解決するにはどうすればよいですか?