Assyのリベラル文学研究所もご覧ください。

FastCGI

FastCGIとは

CGIはプロセスを起動したり破棄したりするオーバーヘッドがあるため、PHPJavaサーブレットと比較して効率や性能が悪い。このため、FastCGIと呼ばれる仕組みが開発されている。FastCGIサーバーがメモリに常駐起動し、オーバーヘッドを少なくしてくれる。その代り、プログラムをFastCGI用に書き直す必要がある。

FastCGI

CGIの「リクエストごとにプログラムを起動・終了させる」という方式がパフォーマンスが悪いと言われるのに対して、FastCGIと呼ばれる仕組みがある。FastCGIサーバーでプロセスを再利用することで、プロセスを永続的に起動させたままにし、サーバのパフォーマンスが向上する。ただし、FastCGI用に書かれたプログラムを書く必要があるが、これはライブラリを使用することで多くの場合隠蔽されている。
Apache用のFastCGIには、mod_fcgid, mod_fastcgi, mod_proxy_fcgiなどがある。nginxとphp-fpmなどという組み合わせもあるようである。FastCGIを使うと、特定のWebサーバに依存せず、Webサーバと独立したプロセスで動くため安定性・セキュアなどが期待できる(プロセス的な意味で、ということらしい)。PHPFastCGIで動かすことも多いようである。