mod_perl vs mod_fastcgi

时间:2008-12-20 02:34:47

标签: perl apache mod-perl mod-fastcgi

我正在使用Perl开发一个带有一些C的Web应用程序,以便进行一些重载数字运算。到目前为止我遇到的主要问题是试图决定是否应该使用mod-perl,mod-fastcgi或两者来运行我的脚本,因为我很难分析每个mod的优点和缺点。< / p>

任何人都可以发布摘要或提供一个链接,我可以在其中找到一些比较信息,也许还有一些建议和示例?

3 个答案:

答案 0 :(得分:23)

他们是完全不同的野兽。

mod_fastcgi(顺便提一下,建议使用mod_fcgid)只支持FCGI协议,通过一些旋钮更快地执行CGI,以控制同时运行多少进程,而不是更多。

另一方面,mod_perl是一个用于开发应用程序的平台,可以向您公开大多数Apache内部,因此您可以从代码中调整每个Web服务器旋钮,加速CGI和much more

如果您希望快速运行CGI并希望尽可能多地支持主机,那么您应该坚持支持这两种方式来运行代码,也可能支持标准CGI。

如果您以灵活性为代价关心最高效率,那么可以瞄准单个平台,可能是mod_perl。

但是,最可靠的选择是在任何地方运行并使用框架来构建应用程序,该应用程序将使用特定执行方式的优点(如果存在),例如Catalyst

答案 1 :(得分:7)

我建议你使用像Catalyst这样的框架来处理这些细节。对于大多数应用程序而言,只要以有效的方式完成,程序如何连接到Web服务器并不重要。 mod_perl和FastCGI之间的选择应由部署它的系统管理员而不是开发人员进行。

答案 2 :(得分:5)

这是一个网站,其中包含mod_perl,mod_fastcgi,cgi(Perl)和Java servlet的一些实际性能比较 - 用于非常基本的脚本: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.

PerlMonks上有一个旧线程比较mod_perl和fastcgi:http://www.perlmonks.org/?node_id=108008