Deployment 部署挂架应用程序的最佳方式是什么?
有许多方法可以部署挂架应用程序。 -通过apache或nginx代理以粘贴 -使用mod_wsgi嵌入应用程序 -使用一些前卫的nginx+uwsgi组合 -也许更多 我读了很多关于各种方法的书,但没有真正决定选择哪一种 通过nginx代理粘贴似乎是最简单的设置方法,但它是否有效?粘贴不会比mod_wsgi或uswgi慢吗?如果是这样,那么性能的提高是否值得这么麻烦 需要一些专家帮我选择最好的折衷方案。。。Deployment 部署挂架应用程序的最佳方式是什么?,deployment,pylons,wsgi,Deployment,Pylons,Wsgi,有许多方法可以部署挂架应用程序。 -通过apache或nginx代理以粘贴 -使用mod_wsgi嵌入应用程序 -使用一些前卫的nginx+uwsgi组合 -也许更多 我读了很多关于各种方法的书,但没有真正决定选择哪一种 通过nginx代理粘贴似乎是最简单的设置方法,但它是否有效?粘贴不会比mod_wsgi或uswgi慢吗?如果是这样,那么性能的提高是否值得这么麻烦 需要一些专家帮我选择最好的折衷方案。。。 我想要简洁,但我需要体面(如果不是尖端的话)的表现,而你,欧比旺·克诺比,是我唯一的希望
我想要简洁,但我需要体面(如果不是尖端的话)的表现,而你,欧比旺·克诺比,是我唯一的希望;) 最好的答案是,视情况而定 从纯粹的简单性角度来看,apache2/mod_wsgi可能是最容易管理的,因为您有更多了解apache的人 从性能的角度来看,这取决于 如果您的应用程序非常依赖于框架,并且不是非常依赖于静态内容(css、图像),那么Web服务器和挂架之间的网关很可能是您的瓶颈,几乎任何部署都可以解决这一问题 粘贴速度相当快。我发现nginx/uwsgi的接口比apache2/mod_wsgi稍快一些。nginx的静态文件性能和内存需求也有利于nginx 我遇到的几个网站都谈到了这两个方面: tonylandis.com/python/deployment-howt-pylons-nginx-and-uwsgi/ cd34.com/blog/programming/python/pylons-and-facebook-application-layout/ code.google.com/p/modwsgi/wiki/IntegrationWithPylons
我所做的比较是与apache2/mpm worker而不是mpm prefork进行的,因为我的设置中不需要mod_php5。如果性能是最重要的,请查看一些测试:
我想说的是,如果应用程序更依赖于框架而不是静态内容,那么限制因素将是Web服务器->框架,我发现nginx->uwsgi->挂架和apache2/mpm worker->mod_wsgi->挂架的性能差异可以忽略不计,因为限制因素是挂架。这并不是说塔架很慢 无论我对repose.who/what使用哪种部署方法,我发现很难在每个CPU核心每秒扩展280个请求 @mkucharz,至于这些性能结果,这些结果已经有三年历史了,甚至还没有接近今天存在的配置。Pylons 1.0比0.9快约10%,flup更为成熟,这并不测试uwsgi或mod_wsgi。它还使用了Mighty而不是Mako,同时也指出了测试的年龄 其他隐藏变量包括Python版本。在一些发行版中,我发现Python2.5比Python2.6快一点,这取决于应用程序的功能 免责声明:
- 塔架并不慢
- mod_wsgi和uwsgi性能差异在生产设置中可以忽略不计
- Nginx的静态文件性能优于apache
- 如果不需要mod_php,Apache/mpm worker比mod prefork快得多
- 几乎你所了解的任何部署都可能足以满足99%的网络应用
- 99%的已发布基准没有正确测试环境。点击一页10000次并不代表真实世界的表现
- 在深夜发帖时尽力帮忙是行不通的。我知道当我在tweetdeck上看到这个消息时,我应该什么都不说