Web Server では、CGI エンジンが必要に応じて CGI スタブプロセスを作成します。CGI によって生成されるコンテンツに大きく依存する高負荷システムでは、CGI スタブプロセスがすべてのシステムリソースを消費してしまう可能性があります。サーバーでそうした状況が発生している場合、CGI スタブプロセスのチューニングを行うことで、作成可能な新しい CGI スタブプロセスの数、そのタイムアウト値、および任意の時点で実行される CGI スタブプロセスの最小数を制限することができます。
magnus.conf ファイル内に init-cgi 関数が存在していて、かつサーバーがマルチプロセスモードで稼働している場合、その init-cgi 行に LateInit = yes を追加する必要があります。
マルチプロセスモードは非推奨であり、将来のリリースでは存在しない可能性があります。
CGI スタブを制御するには、次の設定をチューニングしてください。これらの設定は、構成の「パフォーマンス」タブ ⇒「CGI」サブタブにあります。
最小スタブサイズ: デフォルトで起動されるプロセスの数を制御します。CGI プログラムへのアクセスが発生するまで、CGI スタブプロセスは 1 つも起動されません。デフォルト値は 0 です。magnus.conf ファイルに init-cgi 指令が含まれている場合は、この最小数の CGI スタブプロセスは起動時に生成されます。
最大スタブサイズ: サーバーが生成できる CGI スタブプロセスの最大数を制御します。これは、実行中の CGI スタブプロセスの最大同時数であり、保留されている要求の最大数ではありません。デフォルト値は 16 ですが、ほとんどのシステムではこの値で十分です。この設定を大きくしすぎると、実際にはスループットが減少してしまう可能性があります。
CGI スタブタイムアウト: この指令で設定された秒数の間、アイドル状態のままになっているすべての CGI スタブプロセスを終了するように、サーバーに指示します。プロセス数が最小スタブサイズに達すると、それ以上プロセスが終了されなくなります。デフォルトは 30 です。
CGI タイムアウト: CGI プロセスに許される最大実行時間を秒単位で制限します。デフォルトは –1 ですが、これは、タイムアウトがないことを意味します。