Python Web应用程序部署多个应用程序实例

时间:2013-05-01 12:13:20

标签: python web-applications deployment web-deployment

我有使用uwsgi和nginx部署的python web app(WSGi)。我将向许多用户(客户)提供此应用程序 - 每个用户将拥有自己的设置,数据库,模板,数据文件夹等。应用程序的代码可以共享。

我最初的想法是每个客户都有一个uwsgi进程。但这是非常浪费的方法,因为目前该应用程序的内存占用量约为100MB。我希望大多数这些实例大部分时间都处于休眠状态(每天最多500个请求)。

我提出了这个解决方案:

应用程序将被修改,一个实例可以为更多客户服务。根据请求的域,它将为该客户准备(加载)正确的设置,数据库连接等。

这是个好主意吗?或者我应该专注于降低内存占用量?

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

  

应用程序将以这种方式进行修改,即一个实例可以用于   更多客户。根据请求的域,它将准备(加载)   该客户的正确设置,数据库连接等。

     

这是个好主意吗?

好吧,我在生产中使用了一个类似的系统,其中有n个应用实例,但每个实例都可以根据HTTP Host标题为任何客户提供服务,并且它可以正常工作好。

鉴于客户数量足够多,每个客户拥有一个实例可能不符合成本效益,甚至不实用。