要するに、
等のような構造のモノ。
大きく分けて、二通りの利用方法がある。
- インタープリタ部分がApache?に内蔵されるので、インタープリタ部分の起動オーバーヘッドがなくなる。
- また、モジュールの実装によっては、スクリプトのソース解釈後の内部オブジェクトをキャッシュして、二回目以降のスクリプト実行時にはソース解釈を省略可能(但し、prefork型のApache?ではそれほど効率的という訳ではない)。
- その言語自体で、Apache?のモジュールを記述できる
コレは簡単な構造かつ手軽に高速化(というか常駐化)できる反面、prefork型のApache?では、以下のような問題点も。
- Apache?のプロセスサイズが大幅に肥大化する
- Apache?のたくさんの子プロセス全員が、それぞれのservlet?(というのか?この場合も)の変数、ファイルハンドル、DB等へのコネクションを維持する為、各種リソースを大きく食う(しかも大半はスリープ状態な事が多い気がする)
- 一応、コレを解消する為に、例えばDBへのコネクションなら、コネクションプールを作って、Apache?内のservlet?は、コネクションプールから、DBにアクセスする時だけDB接続を受け取る、等の仕組が実装されているが、それなら、完全にFastCGI型の構造にしてしまった方が良い気が自分はする
だから自分はコレはあまり好きではない。
→mod_perl
最終更新 : 2004/01/26 16:25:35 JST