在中型到大型Python WSGI应用程序中使用什么,Apache + mod_wsgi还是Nginx + mod_wsgi?
哪种组合需要更多的内存和CPU时间?
哪一种更快?
有哪一种被认为比另一种更稳定?
我还考虑使用CherryPy的WSGI服务器,但我听说它不太适合非常高负载的应用程序,请问您对此了解多少?
注:我没有使用任何Python Web Framework,我只是从头开始编写了整个应用程序。
注':其他建议也欢迎。
在中型到大型Python WSGI应用程序中使用什么,Apache + mod_wsgi还是Nginx + mod_wsgi?
哪种组合需要更多的内存和CPU时间?
哪一种更快?
有哪一种被认为比另一种更稳定?
我还考虑使用CherryPy的WSGI服务器,但我听说它不太适合非常高负载的应用程序,请问您对此了解多少?
注:我没有使用任何Python Web Framework,我只是从头开始编写了整个应用程序。
注':其他建议也欢迎。
对于nginx/mod_wsgi,请确保您阅读:
http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html
由于nginx在底层是一个事件驱动的系统,因此它具有对于像WSGI这样的阻塞应用程序不利的行为特性。最糟糕的情况是,在多进程nginx配置中,即使某些nginx工作进程处于空闲状态,您也可能会看到用户请求被阻止。Apache/mod_wsgi没有这个问题,因为Apache进程只会在有足够资源来处理请求时接受请求。因此,Apache/mod_wsgi将提供更可预测、更可靠的行为。
nginx mod_wsgi的作者在这封邮件列表信息中解释了与Apache mod_wsgi的一些区别。