2 つの中規模ロール インスタンスと 4 つの小規模ロール インスタンスのどちらがパフォーマンスの点で優れていますか?
各構成の長所と短所は何ですか?
2 つの中規模ロール インスタンスと 4 つの小規模ロール インスタンスのどちらがパフォーマンスの点で優れていますか?
各構成の長所と短所は何ですか?
@sharptooth による良い点。考慮すべきもう 1 つの点: をスケールインする場合、インスタンスの最小数は0ではなく1です。. たとえば、夜間のタスクを 1 時間実行する worker ロールがあり、その時間枠内でジョブを完了するには、2 つの Medium インスタンスまたは 4 つの Small インスタンスが必要であるとします。作業が完了したら、1 つのインスタンスにスケーリングしてコストを節約し、次の夜間ジョブまで 23 時間 1 つのインスタンスとして実行することができます。単一のスモール インスタンスでは 23 コア時間を消費し、単一のミディアム インスタンスでは 46 コア時間を消費します。この考え方は Web ロールにも当てはまりますが、稼働時間の SLA を確保するために少なくとも 2 つのインスタンスを用意することになるため、おそらくそれ以上に当てはまります (たとえば、あなたのエンドユーザーはそれを操作することはなく、単なるユーティリティ目的のためです)。
サイジング時の一般的な経験則: 作業を適切に実行できる最小の VM サイズを選択し、必要に応じてスケールアウト/スケールインします。どちらを選択するかは、主に CPU、RAM、およびネットワーク帯域幅のニーズによって決まります (また、コンピューティングとストレージの間でデータを移動するときにネットワークが必要であることを忘れないでください)。
4 つの小さな役割を使用する場合、1 つのデータセンターで 2 つ、別のデータセンターで 2 つを実行し、Traffic Manager を使用して、少なくともどちらが近いかをルーティングすることができます。これにより、パフォーマンスが向上する場合があります。
2 つの媒体を使用すると、コンピューティング レベルでキャッシュにデータを格納するオプションが増えます。したがって、SQL Azure から取得するよりもキャッシュに格納するオプションが増えるため、より高速になります。
理想的には、@sharptooth に従って、測定とテストを行う必要があります。これはすべて非常に主観的なものであり、私は David を次のように考えています。私たちはこのように実行します。すべてを実行するために大きなボックスを取得するという従来の意味で作業するよりも、よりシャーディングの側面を中心にアプリを設計することを本当に考えたいと考えています。ある時点で、思考の限界に達しますより大きなボックス プロセスで、つまり、SQL Azure 接続の制限のように。
Jmeter などのテクノロジを使用することは、ここでの友達であり、アプリをテストするためのツールを提供するはずです。