私はPerlでWebアプリを開発しており、必要に応じていくつかのCを使用して、いくつかのヘビーデューティな数値処理を行っています。これまでの主な問題は、mod-perl、mod-fastcgi、またはその両方を使用してスクリプトを実行する必要があるかどうかを判断しようとすることです。各 mod の長所と短所を分析するのに苦労しているためです。
誰でも要約を投稿したり、比較情報や例を含むいくつかの推奨事項を見つけることができるリンクを提供したりできますか?
私はPerlでWebアプリを開発しており、必要に応じていくつかのCを使用して、いくつかのヘビーデューティな数値処理を行っています。これまでの主な問題は、mod-perl、mod-fastcgi、またはその両方を使用してスクリプトを実行する必要があるかどうかを判断しようとすることです。各 mod の長所と短所を分析するのに苦労しているためです。
誰でも要約を投稿したり、比較情報や例を含むいくつかの推奨事項を見つけることができるリンクを提供したりできますか?
彼らはまったく異なる獣です。
mod_fastcgi (ちなみに、mod_fcgidが推奨されます) は、CGI をより高速に実行するための FCGI プロトコルをサポートするだけで、同時に実行するプロセスの数を制御するいくつかのノブがあり、それ以上ではありません。
一方、mod_perl は、ほとんどの Apache 内部を公開するアプリケーション開発用のプラットフォームであるため、コードからすべての Web サーバー ノブを微調整したり、CGI を高速化したり、その他多くのことができます。
CGI をすばやく実行したいだけで、できるだけ多くのホストをサポートしたい場合は、これら 2 つの方法でコードを実行し、おそらく標準の CGI もサポートする必要があります。
柔軟性を犠牲にして最大の効率を重視する場合は、単一のプラットフォーム、おそらく mod_perl を目指すことができます。
しかし、おそらく最も健全なオプションは、どこでも実行し、フレームワークを使用して、特定の実行方法 (存在する場合) の利点を利用するアプリケーションを構築することです ( Catalystなど) 。
そのような詳細を処理するCatalystなどのフレームワークを使用することをお勧めします。ほとんどのアプリケーションでは、効率的な方法で実行されている限り、プログラムが Web サーバーに接続する方法は問題ではありません。mod_perl と FastCGI のどちらを選択するかは、開発者ではなく、それを展開するシステム管理者が行う必要があります。
これは、mod_perl、mod_fastcgi、cgi (Perl)、および Java サーブレットの実際のパフォーマンスを比較したサイトです - 非常に基本的なスクリプトについて: https://sites.google.com/site/arjunwebworld/Home/programming/apache-jmeter
要約すれば:
cgi - 1200+ requests per minute
mod_perl - 6000+ requests per minute (ModPerl::PerlRun only)
fast_cgi - 6000+ requests per minute
mod_perl - 6000+ requests per minute (ModPerl::Registry)
servlets - 2438 requests per minute.
ここに mod_perl と fastcgi を比較する PerlMonks に関する古いスレッドがあります: http://www.perlmonks.org/?node_id=108008