0

現在、私のアプリケーションはステージング環境で実行されています。アプリケーションを市場にリリースする必要がありますが、その前にこのパフォーマンスの問題を解決したいと考えており、アプリケーションの詳細は次のとおりです。

クラウド サービス =============> 米国西部

ストレージ アカウント ============> 米国西部

データベース サーバー ===========> 米国中北部

VM(仮想マシン) サイズ =====> 小

ここでは、クラウド サービスとストレージを 1 つの場所に配置し、データベース サーバーを別の場所に配置しています。アプリケーションのパフォーマンスに影響はありますか?

もう 1 つ、アプリケーションで 1 つのインスタンスで 1 つの Web ロールを使用しています。

アプリケーションのパフォーマンスを改善するためにどのような変更を行うべきか教えていただけますか?

4

2 に答える 2

3

あなたは間違いなくあなたのデータベースとサービスを同じ地域に置くべきです。データベースのパフォーマンスは、パフォーマンスが低下する可能性が高いため、データベースをサービスに可能な限り「近づける」必要があります。データベースとサービスが同じリージョンにあるということは、それらが同じデータセンターにあり、したがって高速バックボーン上にあることを意味します。個別のリージョン(データセンター)は、データが低速の国境を越えたインフラストラクチャを通過する必要があることを意味します。スループットとレイテンシの両方が大幅に低下します。また、データ出力料金は地域ごとであるため、データベースからアプリケーションへのすべてのトラフィックに対して料金を支払うことになります。同じ地域にある場合、これには1セントもかかりません。

その他のパフォーマンスの改善を行うことができます。たとえば、クラウドサービスのCPU負荷を調べて、単一のインスタンスで十分かどうかを判断します。しかし、データから始めましょう。リージョンアフィニティから始めて、キャッシング(データが同じマシンのメモリ内にある場合)も調べて、サービスにできるだけ近いデータを取得します。

于 2013-02-26T09:09:20.517 に答える
1

上記の説明から、最初に行う必要があるいくつかのこと:

  1. データベースサーバーとクラウドサービスが同じリージョン(米国西部)にあることを確認してください。クラウドサービスとデータベースサーバーを異なるリージョンに配置すると、レイテンシの問題が発生します。
  2. 本番環境では、Webロールのインスタンスを少なくとも2つ実行していることを確認する必要があります。単一インスタンスのWebロールはWindowsAzureSLAの対象外であり、この単一インスタンスが何らかの理由でダウンした場合、その期間中はアプリケーションを使用できません。

その後、パフォーマンス目標の設定に関する@AlexeiLevenkovの推奨事項に従ってください。

于 2013-02-26T09:09:40.763 に答える