3

FCGI プロトコルについて私が知っていることは、アプリケーションが初めて呼び出されたときに、アプリケーションがメモリにロードされ、実行され、サーバーに応答が返され、応答が終了してもアプリケーションが終了せず、メモリ内で実行され続け、その後、次のリクエストは、このコンパイルされたメモリ内アプリケーションのコピーを使用してリクエストを処理します。

PSGI プロトコルについて読むと、同じように動作しているようです。

私の質問は、私の仮定は正しいですか、1 秒あたりのリクエストに対するアプリケーションの速度に関しては同じです。

それらが同じように機能する場合の紛らわしい問題も、なぜplackupにFCGIを有効にするコマンドラインオプションがあるのか​​ わかりません。

4

1 に答える 1

10

リンゴと果物の比較を求めています。あなたの質問はあまり意味がありません。

Perl で記述された Web アプリケーションをデプロイするために使用できるさまざまな基本メカニズムがあります。

  • スタンドアロンの CGI プログラムにすることができます
  • mod_perl で実行できます
  • FCGI で実行できます
  • など...

問題は、展開メカニズムごとに、プログラムの作成方法を変更する必要があることです。これは、コードを書き始める前に、たとえば mod_perl をターゲットにしていることを知る必要があることを意味します。また、これらのさまざまな展開方法間でアプリケーションを移動することは簡単ではありません。

これは、PSGI が解決する問題です。CGI アプリ、mod_perl アプリ、または FCGI アプリを作成する代わりに、PSGI プロトコルをターゲットとするアプリを作成します。CGI、mod_perl、FcGI (または他の多くの展開方法) でまったく同じアプリを展開できます。

FCGI ハンドラーを使用して PSGI アプリをデプロイすると、FCGI アプリと同じように機能します。ただし、後で mod_perl アプリとして実行するように移動するのは簡単です。または、Starman などを使用してスタンドアロン サーバーとして実行することもできます。

それはまったく役に立ちますか?

于 2014-07-27T16:10:35.663 に答える