WSGI和FCGI之间有速度差异吗?

tor*_*ger 35 python wsgi fastcgi

从网上我发现WSGI是一个用于python web开发/框架的CGI.FCGI似乎是各种语言的更通用的网关.在参考python和C/++语言时,不知道两者之间的性能差异.

Gra*_*ton 71

正确,WSGI是Python编程API定义,FASTCGI是与语言无关的套接字协议定义.实际上,它们处于不同的层,WSGI是更高层.换句话说,可以在使用FASTCGI与Web服务器进行通信的情况下实现WSGI,但不是相反.

通常,FASTCGI是套接字线协议意味着您始终需要某种类型的编程接口才能使用它.对于Python,一个这样的选项是WSGI.由于FASTCGI只是达到目的的手段,因此在这种情况下无法将其性能与WSGI进行比较,因为WSGI不是类似的套接字协议,而是FASTCGI本身的用户.

可以尝试比较FASTCGI之上的不同语言接口的性能,但总的来说这本身就没有意义,因为较低的网络层和服务器请求处理不是瓶颈.相反,您的应用程序代码和数据库将是.


Luk*_*ský 25

他们是两个不同的东西.WSGI是用于编写Web应用程序的Python特定接口.有任何Web服务器协议的包装器可以提供WSGI接口.FastGCI(FCGI)是此类Web服务器协议之一.因此,WSGI是一个抽象层,而CGI/FastCGI/mod_python是实际Web服务器与应用程序通信的方式.有些代码必须将本机接口转换为WSGI(有一个CGI模块wsgiref,有flupFastCGI等).还有用于Apache的mod_wsgi,它直接在Apache模块中进行转换,因此您不需要任何Python包装器.