[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

FastCGI

pointこの用語のポイント

pointCGIの改良版だよ

point一度動き出したプログラムは、しばらくメモリ上に待機させるよ

point起動/終了処理が減る分、CGIと比較して、処理の高速化と負荷の軽減が見込めるよ

スポンサーリンク

簡単に書くよ

FastCGIとは

CGI(Webサーバ上でプログラムを動かすための仕組み)の改良版。
もう少し具体的に書くと

役割はCGIと同じだけど、Webサーバ上で動くプログラムを一度起動したらしばらく待機させることによって、プログラムの開始と終了にかかる手間を減らし、動きを速くしたりWebサーバの負荷を軽減することができる仕組み
です。

image piyo

詳しく書くよ

CGIは「Webサーバホームページファイルを置いておくコンピュータ)上にあるプログラムを実行するための仕組み」ね。

例えば、とあるパソコンさんから「ホームページのファイルをちょうだい」という注文が入ったとしましょう。

FastCGI

普通のホームページでは、事前に作っておいたファイルを渡すことになります。

FastCGI2

それに対してCGIでは、Webサーバ上にいるプログラムさんが、その場でホームページのファイルを作って渡してあげます。
ホームページのファイルを作るときには、ついでに他のお仕事をすることもできますよ。

FastCGI3

このCGIの仕組みにおいて、Webサーバ上にいるプログラムさんは、普段は寝ています。

FastCGI4

「ホームページのファイルをちょうだい」の注文が入ると起きて仕事をしますが、終わるとまた寝てしまいます。

FastCGI5

つまり、注文が入る度に起きる時間と寝る時間が必要になるということです。

これはちょっと非効率ですよね?

そこで、プログラムさんに、一度起きたらしばらく寝ないようにお願いしました。

FastCGI6

これで、プログラムさんが起きている間に次の注文が入れば、そのまますぐに次のお仕事を始められます。

FastCGI7

この仕組みがFastCGI(ファストシージーアイ)です。
役割はCGIと同じですが、一度起きたプログラムさんにしばらく起きていてもらうことで、起きる時間と寝る時間を短縮できます。
それに伴い、処理の高速化と負荷の軽減が見込める理屈です。

これでFastCGIの説明は終わりですが「寝る」とか「起きる」とか、よくわかんね―よ!な人のために、もう少し小難しい言い回しでも説明しておきますね。

CGIは、リクエストがある度にプログラムの起動/終了処理が発生します。
よって、続けざまに100回のリクエストが来ると、起動/終了処理が100回発生することになります。

これは少し非効率です。

そこで、CGIを改良して、一度起動したプログラムは一定期間、メモリ上に展開しておくことにしました。
この

CGIを改良して、一度起動したプログラムは一定期間、メモリ上に展開しておくことにした仕組み

がFastCGIです。

FastCGIは、CGIと比較して、起動/終了処理にかかる負荷を軽減できます。
続けざまに100回のリクエストが来たとしても、起動/終了処理が1回で済むからです。

また、起動/終了処理がないということは、すぐに仕事に取りかかれるということです。
その分、処理の高速化が見込めます。

image piyo2

一言でまとめるよ

まぁ「FastCGI」って単語が出てきたら「一度動き出したプログラムはしばらく待機させて、起動・終了処理を省略するようにした、CGIの改良版なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク