アプリケーション構成設定 (Windows Server AppFabric キャッシング)

Windows Server AppFabric のキャッシュ機能では、アプリケーションのキャッシュ クライアント設定をプログラムやアプリケーション構成ファイルを使用して構成できます。アプリケーションの場所に応じて両方のやり方を使い分けることもできます。これらの構成方法とそれぞれの選択方法の詳細については、「クライアント構成オプション (Windows Server AppFabric キャッシュ)」を参照してください。

どちらの方法を使用する場合でも、構成する対象は同じキャッシュ クライアント設定です。このトピックの表に、キャッシュ クライアントで利用できる設定、およびそれぞれを XML ベースのアプリケーション構成ファイルで構成する方法と、コードを使用してプログラムから構成する方法を示します。

アプリケーションでこれらの設定を使用する方法の詳細については、「XML ベースのクライアント構成 (Windows Server AppFabric キャッシュ)」の例を参照してください。

キャッシュ クライアント設定

設定 XML による構成箇所 コードによる構成箇所

クライアント タイムアウト (ミリ秒)

dataCacheClient 要素の requestTimeout 属性。10000 (10 秒) 未満の値を指定することはお勧めしません。既定値は 15000 です。

DataCacheFactoryConfiguration クラスの RequestTimeout プロパティ。

チャネル オープン タイムアウト (ミリ秒)

dataCacheClient 要素の channelOpenTimeout 属性。この値を 0 に設定すると、ネットワークの問題を直ちに処理することができます。詳細については、「キャッシュ クライアントのタイムアウトを構成する (Windows Server AppFabric キャッシュ)」を参照してください。既定値は 3000 です。

DataCacheFactoryConfiguration クラスの ChannelOpenTimeout プロパティ。

サーバーとの接続の最大数。

dataCacheClient 要素の maxConnectionsToServer 属性。既定値は 1 です。

DataCacheFactoryConfiguration クラスの MaxConnectionsToServer プロパティ。

キャッシュ ホスト設定

クラスター内のキャッシュ ホストは、キャッシュ クライアントごとに 1 台以上指定する必要があります。リード ホストに指定されているキャッシュ ホストはクラスターの管理に役立つため、リード ホストを指定してください。リード ホストはクラスターにインストールされる最初のキャッシュ ホストです。リード ホストの詳細については、「Windows Server AppFabric キャッシュの物理アーキテクチャ図」を参照してください。

アプリケーション構成ファイルでは、各キャッシュ ホストの設定は host 要素で指定します。これは、hosts 要素の子です。プログラムからは、各ホストを DataCacheServerEndpoint クラスのクラス コンストラクターで定義します。それらがインスタンス化された後、DataCacheServerEndPoint オブジェクトは DataCacheServerEndpoint クラスの Servers プロパティに渡されます。

設定 XML による構成箇所 コードによる構成箇所

キャッシュ サーバー名

host 要素の name 属性。

DataCacheServerEndpoint クラスの HostName プロパティ。

キャッシュ ポート番号

host 要素の cachePort 属性。

DataCacheServerEndpoint クラスの CachePort プロパティ。

ローカル キャッシュ設定

ローカル キャッシュ設定では、ローカル キャッシュを有効にするかどうか、ローカルにキャッシュされたオブジェクトを無効にする方法、オブジェクト タイムアウト、およびローカルにキャッシュされたオブジェクトを無効にするためにキャッシュ通知を使用するかどうかを指定します。

アプリケーション構成ファイルでは、ローカル キャッシュ設定は localCache 要素で定義します。これは、dataCacheClient 要素の子です。プログラムからローカル キャッシュを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。ローカル キャッシュの詳細については、「キャッシュ クライアントとローカル キャッシュ (Windows Server AppFabric キャッシング)」を参照してください。

設定 XML による構成箇所 コードによる構成箇所

ローカル キャッシュを有効にするかどうか

localCache 要素の isEnabled 属性。指定できる値は true または false です。無効にする場合は localCache 要素を削除することもできます。

DataCacheLocalCacheProperties クラスの IsEnabled プロパティ。これはその後、DataCacheFactoryConfiguration クラスの LocalCacheProperties プロパティに割り当てられます。

ローカル キャッシュを無効にする方法

localCache 要素の sync 属性。タイムアウト値を使用するよう指定するには TimeoutBased 値を使用します。キャッシュ通知も使用するように指定するには、NotificationBased を使用します。

DataCacheLocalCacheProperties クラスの InvalidationPolicy プロパティ。指定できる値には NotificationBased および TimeoutBased があります。

ローカル キャッシュ タイムアウト (秒)

localCache 要素の ttlValue 属性。

DataCacheLocalCacheProperties クラスの DefaultTimeout プロパティ。

特定のキャッシュ通知のポーリング間隔 (秒)

(省略可能) clientNotification 要素の pollInterval 属性。clientNotification 要素は dataCacheClient 要素の子であり、localCache 要素の子ではありません。指定しない場合、既定値は 300 秒です。

DataCacheNotificationProperties クラスの PollInterval プロパティ。これはその後、DataCacheFactoryConfiguration クラスの NotificationProperties プロパティに割り当てられます。

ローカル キャッシュ オブジェクトの最大数

(省略可能) localCache 要素の objectCount 属性。この値に達するとローカル キャッシュの削除が開始され、ローカルにキャッシュされたオブジェクトのうち、最後に使用された日時が古いものから 20% が削除されます。指定しない場合、既定値は 10,000 オブジェクトです。

DataCacheLocalCacheProperties クラスの ObjectCount プロパティ。

ヒント

パフォーマンスを最大にするため、変更頻度の低いオブジェクトに対してのみローカル キャッシュを有効にしてください。変更頻度の高いデータをローカルにキャッシュすると、クライアントがオブジェクトを使用する時点でそのオブジェクトは古くなっている可能性が高くなります。ttlValue を下げてローカル キャッシュの更新頻度を高くしても、クラスターへの負荷が、ローカル キャッシュを持つ利点を上回ることもあります。変更頻度の高いデータについては、ローカル キャッシュを無効にしてクラスターから直接データを取り出すのが最適です。

通知の設定

アプリケーション構成ファイルでは、通知プロパティは clientNotification 要素で定義します。これは、dataCacheClient 要素の子です。プログラムから通知プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド (Windows Server AppFabric キャッシュ)」を参照してください。

設定 XML による構成箇所 コードによる構成箇所

特定のキャッシュ通知のポーリング間隔 (秒)

clientNotification 要素の pollInterval 属性によって指定します。指定しない場合、既定値は 300 秒です。

DataCacheNotificationProperties クラスの PollInterval プロパティ。これはその後、DataCacheFactoryConfiguration クラスの NotificationProperties プロパティに割り当てられます。

最大キュー長

clientNotification 要素の maxQueueLength 属性。指定しない場合、既定値は 10000 です。

DataCacheNotificationProperties クラスの MaxQueueLength プロパティ。

セキュリティの設定

アプリケーション構成ファイルでは、セキュリティ プロパティは securityProperties 要素で定義します。これは、dataCacheClient 要素の子です。プログラムからセキュリティ プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド (Windows Server AppFabric キャッシュ)」を参照してください。

設定 XML による構成箇所 コードによる構成箇所

モード

securityProperties 要素の mode 属性。指定できる値には Transport および None があります。既定値は Transport です。

DataCacheSecurity クラスの SecurityMode プロパティ。指定できる値には None および Transport があります。DataCacheSecurity オブジェクトはその後、DataCacheFactoryConfiguration クラスの SecurityProperties プロパティに割り当てられます。

保護レベル

securityProperties 要素の protectionLevel 属性。指定できる値には NoneSign、および EncryptAndSign があります。既定値は EncryptAndSign です。

DataCacheSecurity クラスの ProtectionLevel プロパティ。指定できる値には NoneSign、および EncryptAndSign があります。

トランスポートの設定

アプリケーション構成ファイルでは、トランスポート プロパティは transportProperties 要素で定義します。これは、dataCacheClient 要素の子です。プログラムからトランスポート プロパティを構成するには、DataCacheFactoryConfiguration クラスのインスタンスを使用し、このインスタンスを DataCacheFactory クラス コンストラクターのコンストラクターに渡します。詳細については、「構成メソッド (Windows Server AppFabric キャッシュ)」を参照してください。

設定 XML による構成箇所 コードによる構成箇所

接続バッファー サイズ (バイト)

transportProperties 要素の connectionBufferSize 属性。

DataCacheTransportProperties クラスの ConnectionBufferSize プロパティ。これはその後、DataCacheFactoryConfiguration クラスの TransportProperties プロパティに割り当てられます。

最大バッファー プール サイズ (バイト)

transportProperties 要素の maxBufferPoolSize 属性。

DataCacheTransportProperties クラスの MaxBufferPoolSize プロパティ。

最大バッファー サイズ (バイト)

transportProperties 要素の maxBufferSize 属性。

DataCacheTransportProperties クラスの MaxBufferSize プロパティ。

最大出力遅延 (ミリ秒)

transportProperties 要素の maxOutputDelay 属性。

DataCacheTransportProperties クラスの MaxOutputDelay プロパティ。

チャネル初期化タイムアウト (ミリ秒)

transportProperties 要素の channelInitializationTimeout 属性。

DataCacheTransportProperties クラスの ChannelInitializationTimeout プロパティ。

受信タイムアウト (ミリ秒)

transportProperties 要素の receiveTimeout 属性。

DataCacheTransportProperties クラスの ReceiveTimeout プロパティ。

アプリケーション構成ファイル例

AppFabric アセンブリでアプリケーション構成ファイルの XML 要素を読み取るには、ファイルの最初の要素として、configuration タグの下に configSections 要素を含める必要があります。configSections 要素の中には、dataCacheClient 要素に関連付けられた 1 つの section 要素を含める必要があります。

次の例は、このトピックで説明したキャッシュ クライアント構成オプションを多数使用したアプリケーション構成ファイルを示しています。重要な点として、クラスターに接続するために dataCacheClient に必要な要素は hosts だけであることに注意してください。その他すべての子要素には既定値があります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <!--configSections must be the FIRST element -->
<configSections>
   <!-- required to read the <dataCacheClient> element -->
   <section name="dataCacheClient"
         type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
            Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          allowLocation="true"
          allowDefinition="Everywhere"/>
</configSections>

   <dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
      <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
      <clientNotification pollInterval="300" maxQueueLength="10000"/>
      <hosts>
         <host name="CacheServer1" cachePort="22233"/>
         <host name="CacheServer2" cachePort="22233"/>
      </hosts>
      <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
      <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" 
                           maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" 
                           receiveTimeout="600000"/>
   </dataCacheClient>
</configuration>

関連項目

概念

クライアント構成オプション (Windows Server AppFabric キャッシュ)
クラスターの構成設定 (Windows Server AppFabric キャッシング)
Windows Server AppFabric キャッシュのトラブルシューティング
Windows PowerShell を使用した Windows Server AppFabric キャッシュ機能の管理
Windows Server AppFabric のキャッシュの概念
キャッシュ クライアントを開発する (Windows Server AppFabric キャッシュ)

  2011-12-05