0

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

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

我想出了这个解决方案:

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

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

谢谢您的回答!

4

1 回答 1

1

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

这是个好主意吗?

好吧,我在生产中使用了一个类似的系统,其中有n应用程序的实例,但是每个实例都可以基于 HTTPHost标头为任何客户提供服务,并且运行良好。

给定足够多的客户,每个客户拥有一个实例可能不划算,甚至不切实际。

于 2013-05-01T12:29:25.227 回答