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

重要

Microsoft では、すべての新しい開発で Azure Redis Cache を使用することをお勧めします。 Azure Cache オファリングの選択に関する最新のドキュメントとガイダンスについては、自分に適した Azure Cache オファリングを参照してください。

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

キャパシティ プランニング ガイド スプレッドシートの使用

容量計画ガイド スプレッドシートは、Microsoft ダウンロード センターからダウンロードできるスプレッドシートであり、容量計画を支援するために使用できる 2 つのワークシート (専用ロール – Planner併置ロール - Planner) が含まれています。 専用ロール – Planner では、 専用ロール キャッシュ クラスターの作成に関するガイダンスが提供され、 併置ロール - Planner では、 併置ロール キャッシュ クラスターの作成に関するガイダンスが提供されます。

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

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

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

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

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

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

次のセクションでは、 専用ロール併置 ロールキャッシュの容量計画に 2 つのワークシートを使用する方法について説明します。

  • 専用のロール - プランナー

  • 併置型ロール - プランナー

専用のロール - プランナー

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

Dedicated Cache Capacity Planner

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

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

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

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

注意

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

[アップグレード ドメイン数] には、キャッシュ クラスターをホストしているロールのアップグレード ドメイン数を指定します。 容量計画スプレッドシートでキャッシュ クラスターに提示される推奨のアップグレード ドメイン数を使用するか、自分でドメイン数を指定できます。 既定の設定は [プランナーによって設定] です。 [プランナーによって設定] を選択すると、容量計画スプレッドシートの [出力: 可能な構成] セクションの [アップグレード ドメイン] 列に推奨事項が表示されます。 アップグレード ドメイン数でアップグレード ドメイン を手動で指定すると、指定した数が [出力 ] セクションに表示されます。 アップグレード ドメインの詳細については、「 Azure サービスの更新の概要」を参照してください。

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

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

Dedicated Cache Capacity Planner Cache Settings

注意

[出力] セクションに表示されるリンクは、現在表示している容量計画に関する考慮事項のトピックにリンクしています。

このメッセージが表示された場合は、ロール プロジェクトに 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>
    

    重要

    このスニペットの他の設定 (属性など) は dataCachesize 変更しないでください。 この属性では dataCachesize 、キャッシュ クラスターに使用している VM ロールのサイズは指定されず、に設定する Small必要があります。

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

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

併置型ロール - プランナー

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

Co-Located Cache Capacity Planner

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

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

Caching Role Properties

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

注意

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

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