Perl基准之间的FCGI和PSGI



我对FCGI协议的了解是,第一次调用应用程序时,它将其加载到内存中,运行它,将响应返回给服务器,完成响应但不结束应用程序,它使其在内存中运行,然后下一个请求将使用这个在内存中编译的应用程序副本来处理请求。

阅读关于PSGI协议,它似乎以相同的方式工作。

我的问题是,我的假设是正确的,它们在应用程序速度方面是相同的每秒请求数。

令人困惑的问题也如果他们工作相同,为什么我看到plackup有命令行选项启用FCGI。

你要求比较苹果和水果。你的问题没有多大意义。

您可以使用各种底层机制来部署用Perl编写的web应用程序。

  • 可以是一个独立的CGI程序
  • 可以在mod_perl下运行
  • 可以在FCGI下运行
  • 等等…

问题在于,对于每种部署机制,您都需要更改编写程序的方式。这意味着在开始编写代码之前,您需要知道您的目标是mod_perl。这也意味着在这些不同的部署方法之间移动应用程序是非常重要的。

这就是PSGI解决的问题。而不是编写CGI应用程序或mod_perl应用程序或FCGI应用程序,你写一个针对PSGI协议的应用程序。你可以在CGI、mod_perl或FcGI(或许多其他部署方法)下部署完全相同的应用程序。

如果你使用FCGI处理程序部署你的PSGI应用程序,那么它将以与FCGI应用程序相同的方式工作。但后来很容易将其移动为mod_perl应用程序运行。或者使用Starman之类的东西将其运行为独立服务器。

这有帮助吗?

相关内容

  • 没有找到相关文章