セールス: 1-800-867-1380

Azure In-Role Cache の容量計画に関する考慮事項

更新日: 2015年5月

noteメモ
アプリケーションに対して適切な Azure Cache サービスを選択するためのガイダンスについては、「どの Azure Cache を利用すればよいですか。」を参照してください。

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

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

 

キャッシュ クラスター デプロイのトポロジ 説明

専用のロールのキャッシュ

ワーカー ロール インスタンスは、キャッシュ専用です。

併置型ロールのキャッシュ

このキャッシュは、VM リソース (帯域幅、CPU、およびメモリ) を、ロールがホストするプライマリ アプリケーションと共有します。

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

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

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

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

Dedicated Role – Planner ワークシートは複数の種類の入力を受け付けます。最初のセクションの Input:Data Requirements (入力: データ要件) は、キャッシュ用データの最大サイズを計算するために使用されます。最大 10 種類のデータに対して、[平均オブジェクト サイズ (シリアル化後)]、[オブジェクトの最大数]、[高可用性有効] を入力できます。前の例には、1 つのデータ型のメソッドがあります。平均サイズは 2,560 バイトです。キャッシュの最大オブジェクト数は 100,000 です。高可用性が有効ではありません。

2 つ目のセクションの Input:Throughput Requirements (入力: スループット要件) は、キャッシュの帯域幅要件を計算するために使用され、入力としてピーク時の負荷の Number of Reads/sec (読み取り数/秒) と Number of Writes/sec (書き込み数/秒) があります。この例で、Data Type 1 (データ型 1) のピーク時の負荷は、10,000 件の読み取り/秒および 500 件の書き込み/秒です。

3 つ目のセクションの Input:Advanced Options (入力: その他のオプション) には、その他の入力設定があります。Cushion for peak load - data (ピーク時の負荷のクッション - データ) と Cushion for peak load - Throughput (ピーク時の負荷のクッション - スループット) は、アプリケーション負荷が急上昇した場合のバッファーを示します。これらの設定は、キャッシュのデータの合計とスループットについて、望ましいバッファーを増減するときに便利です。

[更新時にデータを維持する] は、容量計画のスプレッドシートに、アップグレード ドメインのロールがアップデートのために停止した場合に、アップグレード シナリオを展開するための余分な容量が含まれているかどうかを示します。Azure がアップデートのためにアップグレード ドメインのロールを停止した場合、インロール キャッシュ はノードがオフラインになる前にデータをクラスター内の他のノードに移そうとします。余分な負荷を引き受けるための十分な容量が他のノードにない場合、ロールからキャッシュされたすべての項目が他のノードに転送されるとは限りません。容量計画スプレッドシートでは、[更新時にデータを維持する] は既定で [はい] に設定されています。[いいえ] に設定されている場合、ロールの容量要件が下がります。[更新時にデータを維持する] が [はい] に設定されていると、ガイドによって、余分な容量として 1 つのアップグレード ドメインに相当する容量が確保されます。詳細情報 アップグレード ドメインの詳細については、「Azure サービスの更新」をご覧ください。

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

[アップグレード ドメイン数] には、キャッシュ クラスターをホストしているロールのアップグレード ドメイン数を指定します。容量計画スプレッドシートでキャッシュ クラスターに提示される推奨のアップグレード ドメイン数を使用するか、自分でドメイン数を指定できます。既定の設定は [プランナーによって設定] です。[プランナーによって設定] が選択されていると、容量計画スプレッドシートにより、[ユーザー ドメイン] 列 Possible Configurations (出力: 考えられる構成) セクションに提案が表示されます。[アップグレード ドメイン数] にアップグレード ドメイン数を手動で指定した場合、指定した数が [出力] セクションに表示されます。詳細情報 アップグレード ドメインの詳細については、「Azure サービスの更新」をご覧ください。

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

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

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

このメッセージが表示された場合は、ロール プロジェクトに CacheSettings.xml という名前の XML ファイルを作成し、[出力] セクションの [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重要
    dataCachesize 属性など、このコードのその他の設定は変更しないでください。dataCachesize 属性はキャッシュ クラスターに使用する VM ロールのサイズを指定しません。Small に設定する必要があります。

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

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

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

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

Co-Located Role – Planner ワークシートを使用するには、[入力: クラスター構成] セクションにロールの構成を入力します。[VM サイズ] に、ロールをホストする VM サイズを入力し、[VM 数] にロール インスタンスの数を入力します。[キャッシュに格納するユーザー データ] に目的のキャッシュ サイズを入力し、[高可用性有効] に目的の設定を指定します。高可用性を有効にする場合は、Yes を入力し、有効にしない場合は No を入力します。この例では、VM サイズは中で、3 つのロール インスタンス、目的のキャッシュ サイズが 1,500 MB、高可用性なしです。

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

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

[併置型ロール – プランナー] ワークシートを使用するには、キャッシュ要件に一致する値を [入力: クラスター構成] セクションに入力します。キャッシュ クラスター構成を決定するための開始点として、出力セクションの推奨事項を使用します。

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

キャッシュ クラスター構成が決定したら、ロールのプロパティ ページでキャッシュ クラスターを構成できます。併置型ロール キャッシュ クラスターの構成例については、「方法:Azure In-Role Cache のキャッシュ クラスターの構成」をご覧ください。

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2015 Microsoft