c++ - Perl CGI 与 mod_perl WebServer 中的 C CGI

标签 c++ perl cgi fastcgi mod-perl

我正在考虑重构我的应用程序,将我的 Perl CGI 迁移到 C++ CGI。

我正在努力提高性能,因为我们需要更多的运行时速度处理。

考虑到 mod_perl 在启动 Perl CGI 时编译一次:

是否有可能使用 C/C++ CGI 获得更好的性能? (在本例中通过 FastCGI)

它有意义吗?

最佳答案

如果你想在你的C/CGI脚本中计算PI到几千个地方,可能是的,因为编译程序的计算速度要快得多。

但是,如果您的 C/CGI 仅输出“hello world”,则可能不会。 :)

结果:如果不进行一些基准测试和深入分析,就无法确定导致缓慢的原因。

你应该做什么?仅恕我直言 :)

  • 将 apache 替换为 nginx
  • 用基于 PGSI 的 perl 应用程序替换您的普通 CGI。 (如果你想重构为 C,你可以更容易地重构为 Plack/PSGI
  • 使用一些小框架来快速获得结果
  • 将最终的 Plack APP 作为 nginx 反向代理的独立 perl/web 服务器运行
  • 配置 nginx 以提供静态文件

完成;)

您可以在 5 分钟内测试 Plack/PSGI 解决方案 - 使用 Plack::Handler::CGICGI::Emulate::PSGI

同样,如您所知,以上所有内容仅恕我直言 - 也许您的里程数是......;)

关于c++ - Perl CGI 与 mod_perl WebServer 中的 C CGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230413/

相关文章:

python - Apache:在 ubuntu 14.04 服务器上运行的 Apache 上的 python 代码执行错误

c++ - 在C++中使用深度优先搜索在图数据结构中查找所有可能的路线

c++ - R 和 L 值是否与其上下文有关?

perl - 在 Moose::Role 中访问 MooseX::ClassAttribute

php - mod_php 和 cgi php 脚本有什么区别?

cgi - #include virtual in .html 文件

c++ - 如何将数据类型传递给参数而不是变量

C++模板实例化,究竟是什么意思?

perl - 页面导航后存储下一页的内容

perl - Perl 的修饰符/m = 多行是什么意思?