我正在 Perl 中开发一个 Web 应用程序,其中需要一些 C 语言来进行一些繁重的数字运算。到目前为止,我遇到的主要问题是尝试决定是否应该使用 mod-perl、mod-fastcgi 或两者来运行我的脚本,因为我很难分析每个 mod 的优缺点。
任何人都可以发布摘要或提供链接,我可以在其中找到一些比较信息,也许还可以找到一些带有示例的建议?
它们是完全不同的野兽。
mod_fastcgi(顺便说一句,推荐使用mod_fcgid)仅支持 FCGI 协议来更快地执行 CGI,并使用一些旋钮来控制同时运行的进程数量,仅此而已。
另一方面,mod_perl 是一个用于开发应用程序的平台,它向您公开大多数 Apache 内部结构,以便您可以调整代码中的每个 Web 服务器旋钮、加速 CGI 以及更多。
如果您希望快速运行 CGI,并希望支持尽可能多的主机,那么您应该坚持支持这两种运行代码的方式,也可能支持标准 CGI。如果您关心以牺牲灵活性为代价实现最大效率,那么您
可以瞄准单一平台,可能是 mod_perl。
但最明智的选择可能是在任何地方运行并使用框架来构建应用程序,该应用程序将利用特定执行方式(如果存在)的优势,例如Catalyst。
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: