0

uwsgi と nginx を使用してデプロイされた Python Web アプリ (WSGi) があります。このアプリを多くのユーザー (顧客) に提供します。各ユーザーは独自の設定、データベース、テンプレート、データ フォルダーなどを持ちます。アプリのコードは共有できます。

私の当初のアイデアは、顧客ごとに 1 つの uwsgi プロセスを持つことでした。しかし、現在アプリには約 100MB のメモリ フットプリントがあるため、これは非常に無駄なアプローチです。これらのインスタンスのほとんどは、ほとんどの場合スリープ状態になると思います (1 日あたり最大 500 リクエスト)。

私はこの解決策を思いつきました:

アプリは、1 つのインスタンスがより多くの顧客にサービスを提供できるように変更されます。要求されたドメインに基づいて、その顧客に適した設定、データベース接続などを準備 (ロード) します。

これは良い考えですか?それとも、メモリフットプリントを下げることに集中する必要がありますか?

回答ありがとうございます。

4

1 に答える 1

1

アプリはそのように変更され、1 つのインスタンスがより多くの顧客にサービスを提供できるようになります。要求されたドメインに基づいて、その顧客に適した設定、データベース接続などを準備 (ロード) します。

これは良い考えですか?

実稼働環境で同様のシステムを使用しましたがn、アプリのインスタンスがありますが、各インスタンスは HTTP ヘッダーに基づいて任意の顧客にサービスを提供でき、Host非常にうまく機能します。

顧客の数が十分に多い場合、顧客ごとに 1 つのインスタンスを使用することは、費用対効果が低く、実用的でさえない場合があります。

于 2013-05-01T12:29:25.227 に答える