1

私はAmazonEC2で単一のdjangoアプリケーションを実行しており、gunicornを使用して静的ファイルのdjango部分とnginxを提供しています。

私はすぐに新しいプロジェクトを開始する予定ですが、次のオプションのどれが良いのか疑問に思います。

  1. 複数のdjangoアプリケーションを実行するより大きなAmazonEC2インスタンス(中)
  2. 複数の小さいEC2インスタンス(Small / Micro)はすべて独自のdjangoアプリケーションを実行していますか?

誰かがこれを経験したことがありますか?優れたコストパフォーマンス比を得るために測定できる関連するパフォーマンスメトリックは何ですか?

4

2 に答える 2

1

この質問への答えは、私が恐れているあなたのアプリに本当に依存します。正しいインスタンスタイプで実行していることを確認するためにベンチマークを行う必要があります。注目すべきいくつかの重要な指標は次のとおりです。

  • CPU
  • メモリ使用量
  • インスタンスサイズごとの1秒あたりのリクエスト数
  • アプリの起動時間

また、インスタンスサイズに最適化された構成で実行していることを確認するために、nginx/gunicornの設定を微調整する必要があります。

コストが要因である場合、興味深い指標の1つは「1万リクエストあたりのコスト」です。つまり、インスタンスタイプごとに10000リクエストあたりいくら支払うのでしょうか。

于 2012-12-06T13:55:26.393 に答える
0

マイク・ライアンの答えに同意します。また、アプリに別のデータベースが必要かどうかも評価する必要があることを付け加えておきます。大規模で複雑なアプリケーションを独自のデータベースで分離することが理にかなっている場合があります。これにより、変更やメンテナンスが容易になります。(また、何かがうまくいかない場合のリスクを減らします)。停止した場合に、すべてのユーザーベースが影響を受けるわけではありません。これらのアプリケーション用に別のインスタンスを作成することをお勧めします。注:Djangoは1つのプロジェクトで複数のデータベースをサポートしますが、これも変更とメンテナンスの複雑さを増します。

于 2021-09-08T13:33:19.830 に答える