FastCGI とは、CGI の動作方法の仕様の一つである。プロトコルは公開されている。
CGI は、ユーザーから要求がある度に、プロセスの生成と破棄が行われる。大量の要求があればその分だけプロセスの生成と破棄が実施され、この事がパフォーマンスの悪化に繋がっている。
FastCGI は、プロセスをメモリ上に永続化させることで、その起動と終了にかかる時間をカットし、プログラム動作およびサーバのパフォーマンスを向上させる。最初にプロセスが実行された段階で、そのプロセスはメモリ上に格納され、次の要求に対してはそのメモリに格納されたプロセスを実施する。
Apache モジュールに組み込むタイプ (mod_Perl や mod_PHP) では、コンパイルを失くすことで高速化を図り、FastCGI では、プロセスの生成と破棄のオーバーヘッドを失くすことで高速化を図っているわけですね。
では、ASP.NET はどんな仕組みになっているでしょう? ご存知ない方は、一度調べられると良いでしょう。まあ、ASP.NET の強みはそれに加えて、配置 / 展開の容易さですけどね。(さりげなく宣伝)