2

AWS 物理サーバーのハードウェア リソース (CPU、ディスク、ネットワークなど) が異なるアプリケーション間で共有される方法を理解することに興味があります。AWS で実行されているサービスの不可解なパフォーマンスの変化について、物理リソースを共有している別のアプリケーションが原因であると首尾よく考えた経験がある人はいますか? もしそうなら、これをどのようにデバッグしましたか?

特に、CPU->メモリ帯域幅など、リソース間のより複雑な相互作用に興味があります。1 台のマシンで 15 個の VM を実行すると、2 つの VM を実行した場合よりも確実にパフォーマンスが低下します。

おそらく、これは Xen の仮想化に関するより一般的な質問ですが、私が知らない AWS の魔法が内部で起こっているかどうかはわかりません。

これがこの種の質問に適したフォーラムであるかどうかはわかりません。そうでない場合は、リソースまたは別のフォーラムを教えていただけると助かります。

4

1 に答える 1

8

Amazon EC2 インスタンスは、「うるさい隣人」の問題の影響を受けません。

選択したインスタンス タイプに基づいて、EC2 インスタンスは CPU、メモリ、および (一部のインスタンス タイプでは) ローカルに接続されたディスク ストレージを受け取ります。これらのリソースはインスタンス専用であり、他のユーザーや他の仮想マシンの影響を受けません。(これに対する例外は、t1およびt2インスタンス タイプです。)

具体的には:

  • インスタンスには多数のvCPUが割り当てられます。これらはインスタンスに提供され、他のインスタンスはこれらの vCPU を使用できませんt1(以下のおよびについての注意を参照してくださいt2)。EC2 インスタンス タイプ ページでは、vCPUを次のように定義します。

vCPUは、M4、M3、C4、C3、R3、HS1、G2、I2、および D2 用の Intel Xeon コアのハイパースレッドです。

  • インスタンスには一定量のRAMが割り当てられます。他のインスタンスはこの RAM を使用できません。CPU や RAM のオーバーサブスクリプションはありません。
  • インスタンスには、インスタンス ストアまたはエフェメラル ストレージと呼ばれる、ローカルに接続されたディスク ストレージが割り当てられる場合があります。このディスク ストレージは、インスタンスが停止または終了している場合は維持されないため、一時データまたは別の場所に複製されたデータのみを保存します。
  • インスタンスには、そのインスタンス専用のネットワーク帯域幅が割り当てられます。他のインスタンスがこのネットワーク帯域幅に影響を与えることはありません。ネットワーク パフォーマンスは、選択したインスタンス タイプに基づきます。基本的に、インスタンスが大きいほど、ネットワーク パフォーマンスが向上します。

上記の要因はいずれも、同じホストで実行されている他のインスタンス (仮想マシン) の影響を受けません。

t1インスタンスt2タイプ

上記のステートメントの例外は次のとおりです。

  • t1.microインスタンスは「少量の一貫した CPU リソースを提供し、追加のサイクルが利用可能になったときに短いバーストで CPU 容量を増やすことができます」。
  • t2インスタンスは、 CPU クレジットのシステムに基づいてバースト容量を提供します。CPU クレジットは、インスタンス タイプに応じて一定の割合で獲得されます。これらのクレジットは、必要に応じて CPU をバーストするために使用できます。

これらのインスタンス タイプの両方について、このバースト容量はインスタンス間で共有されると想定します。そのため、CPU バーストは、バーストを希望する他のインスタンスによって影響を受ける可能性があります。ただし、t2インスタンスは、CPU が実際にバーストしたときにのみ CPU クレジットを消費することで、これを「公正」にします。

専用インスタンスと専用ホスト

  • 専用インスタンスは、「単一の顧客専用のハードウェア上の仮想プライベート クラウド (VPC) で実行される Amazon EC2 インスタンス」です。基本的に、AWS アカウントは、そのホスト コンピューターでインスタンスを実行する唯一のアカウントになります。
  • Dedicated Hostは、お客様専用のEC2 インスタンス容量を備えた「物理サーバー」です。Dedicated Host を使用すると、既存のソケットごと、コアごと、または VM ごとのソフトウェア ライセンス (Windows Server、Microsoft SQL Server、SUSE など) を使用できます。 、Linux Enterprise Server などです。」基本的に、ホスト コンピューター全体の料金を支払い、ホスト上で個別にインスタンスを起動します (追加料金なし)。

Dedicated Instance または Dedicated Host を使用しても、各インスタンスに割り当てられたリソースに影響はありません通常の共有インスタンスとして実行する場合と同じリソースを受け取ります。

于 2016-11-05T23:58:09.973 に答える