エクスポート (0) 印刷
すべて展開

インロール キャッシュの容量計画に関する考慮事項 (Azure キャッシュ)

更新日: 2010年7月

インロール キャッシュ キャッシュの必要な容量は、キャッシュに格納されるデータの量、キャッシュへの読み取りと書き込みの頻度と量、高可用性などのキャッシュに指定するオプションなどのいくつかの要因によって決まります。キャッシュ要件を決定したら、キャッシュ トポロジを構成できます。プロビジョニングされるキャッシュ クラスターのトポロジは、仮想マシンのサイズ、展開されるインスタンスの数、ロールが共有ロールか、キャッシュ専用かなどのいくつかの要因によって決まります。ここでは、処理容量計画ガイド スプレッドシートを使用して、必要なキャッシュの容量、要件を満たすキャッシュ クラスターをプロビジョニングするために構成する設定を決定する方法を示します。

noteメモ
ここでは、処理容量計画ガイド スプレッドシートを使用して、目的のサイズのキャッシュをプロビジョニングするための容量と設定を決定する方法についてのガイダンスを提供します。アプリケーションに適したサイズを決定するための追加のガイダンスについては、「Capacity Planning for Caching in Azure」ホワイトペーパーの「Capacity Planning Methodology」セクションを参照してください。「Capacity Planning for Caching in Azure」ホワイトペーパーには、Microsoft Azure Shared Caching に固有のガイダンスが含まれていますが、「Capacity Planning Methodology」セクションのガイダンスは、インロール キャッシュ にも適用し、アプリケーションの要件を満たすキャッシュのサイズの決定に役立つことがあります。このガイダンスはキャッシュの要件に基づいて必要な容量を決定するための開始点であり、このガイドで推奨されている構成についても、実働に移る前にテストを行う必要があることに注意してください。

処理容量計画ガイド スプレッドシートは、Microsoft ダウンロード センターからダウンロードでき、処理容量計画に役立てることができる 2 つのワークシート、Dedicated Role – PlannerCo-Located Role - Plannerがあります。Dedicated Role – Plannerは、Dedicated Roleキャッシュ クラスターの作成についてのガイダンスを提供し、Co-Located Role - Plannerは、Co-Located Roleキャッシュ クラスターの作成についてのガイダンスを提供します。

 

キャッシュ クラスターの展開トポロジ 説明

専用ロール キャッシュ

ワーカー ロール インスタンスはキャッシュ専用に使用されます。

共存ロール キャッシュ

キャッシュは、ロールによってホストされる主要アプリケーションと VM リソース (帯域幅、CPU、メモリ) を共有します。

アプリケーションで、既存のロールに未使用のメモリがある場合、それらのロール上に共存ロール キャッシュ クラスターを構成し、その余分なメモリをキャッシュに使用できます。ロールにキャッシュ クラスターをサポートするために十分な余分のメモリがない場合、ロールをスケールアウトするか、キャッシュ ワーカー ロールを追加し、専用ロール キャッシュ クラスターを構成できます。このガイドは、アプリケーションのキャッシュのニーズを満たす展開トポロジに使用する設定を決定するときに役立ちます。

以下のセクションでは、Dedicated RoleキャッシュとCo-located Roleキャッシュの処理容量計画用の 2 つのワークシートの使用方法について説明します。

Dedicated Role – Planner ワークシートは、処理容量計画ガイド スプレッドシートの最初のワークシートで、Dedicated Roleキャッシュ クラスターの設定を決定するために使用できます。専用ロール キャッシュ クラスターでは、ワーカー ロール インスタンスをキャッシュ専用に使用します。

専用キャッシュ キャパシティ プランナー

Dedicated Role – Plannerワークシートは数種類の入力をとります。最初のセクションの [Input:Data Requirements] はキャッシュのデータの最大サイズを計算するために使用します。最大 10 個のデータの種類について、[Average Object Size (Post-Serialization)]、[Maximum Number of Objects]、および [High Availability Enabled] を入力できます。前の例では、1 つのデータの種類がモデル化されています。平均サイズは 2,560 バイトで、キャッシュ内の最大オブジェクト数は 100,000 です。高可用性は有効にされません。

2 番目のセクションは、[Input:Throughput Requirements] は、キャッシュの帯域幅要件の計算に使用し、入力として、ピーク負荷時の [Number of Reads/sec] と [Number of Writes/sec] があります。この例では、[Data Type 1] のピーク負荷は 10,000 読み取り/秒および 500 書き込み/秒です。

3 番目のセクションは、[Input:Advanced Options] で、複数の追加入力設定を指定します。[Cushion for peak load - data] および [Cushion for peak load - Throughput] では、アプリケーション負荷の急上昇に対応するためのバッファーを指定します。これらの設定は、キャッシュ内のデータの量とスループットに応じて目的のバッファーを増加または削減する便利な方法です。

[Preserve Data across Azure Updates] は、容量計画のスプレッドシートに、アップグレード ドメインのロールがアップデートのために停止した場合に、アップグレード シナリオを展開するための余分な容量が含まれているかどうかを示します。 がアップデートのためにアップグレード ドメインのロールを停止した場合、インロール キャッシュ はノードがオフラインになる前にデータをクラスター内の他のノードに移動することを試みます。余分な負荷を引き継ぐための十分な容量が他のノードにない場合、ロールからキャッシュされたすべての項目が他のノードに転送されるとは限りません。容量計画スプレッドシートの [Preserve Data across Azure Updates] は、既定で [Yes] に設定されます。[No] に設定されている場合、ロールに必要な容量は削減されます。[Preserve Data Across Azure Updates] が [Yes] に設定されている場合、ガイドによって、余分な容量として 1 つのアップグレード ドメインに相当する容量が確保されます。アップグレード ドメイン詳細情報、「Azure サービスの更新」を参照してください。

noteメモ
障害のため、または構成の変更によりロール インスタンス数が減ったことが原因でノードがダウンした場合、キャッシュ データは他のノードに移動されません。インロール キャッシュ は、シャットダウンが計画されているときのみデータを他のノードに移動します。高可用性を有効にすると、ノード障害に備えてキャッシュのデータのバックアップ コピーを作成できます。詳細については、TechNet の「 高可用性 (Azure キャッシュのロール内キャッシュ).

[Upgrade Domain Count] には、キャッシュ クラスターをホストしているロールのアップグレード ドメイン数を指定します。容量計画スプレッドシートでキャッシュ クラスターに対して提示される推奨のアップグレード ドメイン数を使用するか、自分でドメイン数を指定できます。既定の設定は [Set by planner] です。[Set by planner] を選択すると、処理容量計画のスプレッドシートにより、[Output:Possible Configurations] セクションの [Upgrade Domains] 列に推奨事項が表示されます。[Upgrade Domain Count] にアップグレード ドメイン数を手動で指定した場合、指定した数が [Output] セクションに表示されます。アップグレード ドメイン詳細情報、「Azure サービスの更新」を参照してください。

入力が構成されると、ツールによって、[Output: Possible Configurations] セクションに提案が表示されます。この例では、推奨の構成は "Medium" の VM サイズで、ロールのインスタンス数が 3、アップグレード ドメイン数が 3 です。推奨の構成に加えて、[Output:Possible Configurations] セクションには他のいずれかの VM サイズを選択した場合に必要な設定が表示されます。

キャッシュ内のオブジェクトの平均サイズが 2k 未満である場合は、容量計画ガイドには [CacheDataSize (MB)*] 列と、[Output] セクションの下に注意が表示されます。

専用キャッシュ キャパシティ プランナーのキャッシュ設定
noteメモ
[Output] セクションに表示されるリンクは、現在表示している容量計画に関する考慮事項のトピックにリンクしています。

このメッセージが表示された場合は、ロール プロジェクトに CacheSettings.xml というファイルを作成し、[Output] セクションに表示された [CacheDataSize (MB)] の設定を含む dataCache セクションを追加します。手順は次のとおりです。

  1. ソリューション エクスプローラーで、キャッシュ クラスターをホストするロール プロジェクトを右クリックし、[追加]、[新しいアイテム] の順にクリックします。[テンプレート] ペインから [XML ファイル] を選択し、[名前] ボックスに「CacheSettings.xml」と入力して、[追加] をクリックします。

  2. 以下の XML コードをコピーして CacheSettings.xml ファイルに貼り付けます。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="[CacheDataSize (MB) Setting]" />
        </advancedProperties>
      </dataCache>
    </configuration>
    
    [CacheDataSize (MB) Setting] は、VM サイズに対応する [CacheDataSize (MB)] 列の設定に置き換えます。次の例では、2088 を使用しています。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
      </configSections>
      <dataCache size="Small">
        <advancedProperties>
          <memoryPressureMonitor cacheUserDataSizePerNode="2088" />
        </advancedProperties>
      </dataCache>
    </configuration>
    
    Important重要
    dataCache size 属性など、このコードのその他の設定は変更しないでください。dataCache size は、キャッシュ クラスターで使用する VM ロールのサイズを指定する属性ではなく、Small に設定する必要があります。

    この CacheCluster.xml ファイルはアプリケーションと共に展開され、必要な構成を格納しています。

"Dedicated Role – Planner" ワークシートを使用するには、キャッシュ要件に一致する値を [Input] セクションに入力します。キャッシュ クラスターの構成の開始点として、推奨された提案を使用します。専用ロール キャッシュを構成するには、[キャッシュ ワーカー ロール] をプロジェクトに追加し、キャッシュ クラスター プロパティを構成します。専用ロール キャッシュ クラスターを構成する例については、「方法: インロール キャッシュのキャッシュ クラスターを構成する (Azure キャッシュ)」を参照してください。

Co-located Role – Planner ワークシートは、処理容量計画ガイド スプレッドシートの 2 番目のワークシートで、Co-located Roleキャッシュ クラスターの設定を決定するために使用できます。共存ロール キャッシュ クラスターでは、ロール インスタンスのリソース (メモリ、CPU、帯域幅) をキャッシュとアプリケーション間で共有します。

併置キャッシュ キャパシティ プランナー

Co-Located Role – Plannerワークシートを使用するには、[Input:Cluster Configuration」セクションにロールの構成を入力します。[VM サイズ] に、ロールをホストする VM サイズを入力し、[Number of VM Instances] にロール インスタンスの数を入力します。[User Data to be stored in Cache] に目的のキャッシュ サイズを入力し、[High Availability Enabled] に目的の設定を指定します。高可用性を有効にする場合は、Yes を入力し、有効にしない場合は No を入力します。この例では、VM サイズは中で、3 つのロール インスタンス、目的のキャッシュ サイズが 1,500 MB、高可用性なしです。

入力が構成されると、ツールによって、既存のロール インスタンスでの目的のキャッシュ クラスターをホストする実行可能性と、ロール プロパティの [Caching] タブの [キャッシュ サイズ] スライダーに使用する設定に関する推奨事項が提示されます。これらは、[Output:Feasibility & Settings] セクションにあります。この例では、[キャッシュ サイズ (%)] 設定は 30% に設定され、残りが OS とその他の処理に使われます。現在の構成で目的のキャッシュ サイズが実行不可能である場合、VM サイズ、ロール インスタンス数、キャッシュ サイズを変更して、アプリケーションのニーズを満たす構成が見つかるまで、他の構成をモデル化できます。

ロール プロパティのキャッシュ

[Co-located Role – Planner] ワークシートを使用するには、[Input:Cluster Configuration] セクションにキャッシュ要件に一致する値を入力します。キャッシュ クラスター構成を決定するための開始点として、出力セクションの推奨事項を使用します。

noteメモ
共存キャッシュに課すことができる負荷は、プライマリ アプリケーションの帯域幅と CPU 消費量を考慮したうえで、キャッシュに使用できる帯域幅と CPU の容量によって決まります。キャッシュとプライマリ アプリケーションの両方についてテストを実行し、パフォーマンスを検証する必要があります。

キャッシュ クラスター構成が決定したら、ロールのプロパティー ページで、キャッシュ クラスターを構成できます。共存ロール キャッシュ クラスターを構成する例については、「方法: インロール キャッシュのキャッシュ クラスターを構成する (Azure キャッシュ)」を参照してください。

表示:
© 2014 Microsoft