Share via


응용 프로그램 구성 설정(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 속성

캐시 호스트 설정

각 캐시 클라이언트에 대해 클러스터의 캐시 호스트를 하나 이상 지정해야 합니다. 리드 호스트로 지정된 캐시 호스트가 클러스터 관리를 도와주기 때문에 리드 호스트를 지정합니다. 처음에는 클러스터에 설치된 첫 번째 캐시 호스트가 리드 호스트입니다. 리드 호스트에 대한 자세한 내용은 Windows Server AppFabric 캐싱 실제 아키텍처 다이어그램을 참조하십시오.

응용 프로그램 구성 파일에서 각 캐시 호스트에 대한 설정은 hosts 요소의 자식인 호스트 요소에 지정됩니다. 각 호스트는 DataCacheServerEndpoint 클래스의 클래스 생성자에 프로그래밍 방식으로 정의됩니다. 이러한 DataCacheServerEndPoint 개체는 인스턴스화된 후 DataCacheServerEndpoint 클래스의 Servers 속성에 전달됩니다.

설정 XML 구성 위치 코드 구성 위치

캐시 서버 이름

host 요소의 name 특성.

DataCacheServerEndpoint 클래스의 HostName 속성

캐시 포트 번호

host 요소의 cachePort 특성.

DataCacheServerEndpoint 클래스의 CachePort 속성

로컬 캐시 설정

로컬 캐시 설정은 로컬 캐시의 사용 여부, 로컬에 캐시된 개체의 무효화 방법, 개체 시간 제한 및 캐시 알림을 사용하여 로컬에 캐시된 개체를 무효화할지 여부를 지정합니다.

응용 프로그램 구성 파일에서 로컬 캐시 설정은 dataCacheClient 요소의 자식인 localCache 요소에 정의됩니다. 로컬 캐시는 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 로컬 캐시에 대한 자세한 내용은 캐시 클라이언트 및 로컬 캐시(Windows Server AppFabric 캐싱)를 참조하십시오.

설정 XML 구성 위치 코드 구성 위치

로컬 캐시 사용

localCache 요소의 isEnabled 특성. 값은 true 또는 false가 될 수 있습니다. localCache 요소가 없는 경우 사용할 수 없음을 나타냅니다.

DataCacheLocalCacheProperties 클래스의 IsEnabled 속성 그런 다음 DataCacheFactoryConfiguration 클래스의 LocalCacheProperties 속성에 할당됩니다.

로컬 캐시 무효화 방법

localCache 요소의 sync 특성. 시간 제한 값을 사용하도록 지정하려면 TimeoutBased 값을 사용합니다. 캐시 알림도 사용하도록 지정하려면 NotificationBased를 사용합니다.

DataCacheLocalCacheProperties 클래스의 InvalidationPolicy 속성 가능한 값에는 NotificationBasedTimeoutBased가 포함됩니다.

로컬 캐시 시간 제한(초)

localCache 요소의 ttlValue 특성.

DataCacheLocalCacheProperties 클래스의 DefaultTimeout 속성

특정 캐시 알림 폴링 간격(초)

(옵션) clientNotification 요소의 pollInterval 특성으로 지정됩니다. clientNotification 요소는 localCache 요소의 자식이 아니라 dataCacheClient 요소의 자식입니다. 이 값을 지정하지 않으면 값 300초가 사용됩니다.

DataCacheNotificationProperties 클래스의 PollInterval 속성. 그런 다음 DataCacheFactoryConfiguration 클래스의 NotificationProperties 속성에 할당됩니다.

로컬에 캐시된 최대 개체 수

(옵션) localCache 요소의 objectCount 특성으로 지정됩니다. 로컬 캐시에서 제거를 시작해야 하는 시기를 트리거합니다. 그런 다음 로컬에 캐시된 개체 중 오래 전에 사용한 개체의 20%를 제거합니다. 이 값을 지정하지 않으면 기본값인 10,000개 개체가 사용됩니다.

DataCacheLocalCacheProperties 클래스의 ObjectCount 속성

참고

최고 성능을 얻으려면 자주 변경되지 않는 개체에만 로컬 캐시를 사용하도록 설정합니다. 자주 변경되는 데이터에 로컬 캐시를 사용하면 클라이언트가 오래된 개체로 작업할 가능성이 커질 수 있습니다. ttlValue를 줄이고 프로세스에서 로컬 캐시를 더 자주 새로 고치도록 할 수는 있지만 클러스터의 로드가 증가하여 로컬 캐시의 사용 이점이 상쇄될 수 있습니다. 자주 변경되는 데이터의 경우 로컬 캐시를 사용하지 않도록 설정하고 클러스터에서 직접 데이터를 끌어오는 것이 좋습니다.

알림 설정

응용 프로그램 구성 파일에서 알림 속성은 dataCacheClient 요소의 자식인 clientNotification 요소에 정의됩니다. 알림 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(Windows Server AppFabric 캐싱)를 참조하십시오.

설정 XML 구성 위치 코드 구성 위치

특정 캐시 알림 폴링 간격(초)

clientNotification 요소의 pollInterval 특성으로 지정됩니다. 이 값을 지정하지 않으면 값 300초가 사용됩니다.

DataCacheNotificationProperties 클래스의 PollInterval 속성. 그런 다음 DataCacheFactoryConfiguration 클래스의 NotificationProperties 속성에 할당됩니다.

최대 큐 길이

clientNotification 요소의 maxQueueLength 특성. 이 값을 지정하지 않으면 기본값은 10000입니다.

DataCacheNotificationProperties 클래스의 MaxQueueLength 속성

보안 설정

응용 프로그램 구성 파일에서 보안 속성은 dataCacheClient 요소의 자식인 securityProperties 요소에 정의됩니다. 보안 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(Windows Server AppFabric 캐싱)를 참조하십시오.

설정 XML 구성 위치 코드 구성 위치

모드

securityProperties 요소의 mode 특성. 가능한 값에는 TransportNone이 포함됩니다. 기본값은 Transport입니다.

DataCacheSecurity 클래스의 SecurityMode 속성. 가능한 값에는 NoneTransport가 포함됩니다. 그런 다음 DataCacheSecurity 개체는 DataCacheFactoryConfiguration 클래스의 SecurityProperties 속성에 할당됩니다.

보호 수준

securityProperties 요소의 protectionLevel 특성. 가능한 값에는 None, SignEncryptAndSign이 포함됩니다. 기본값은 EncryptAndSign입니다.

DataCacheSecurity 클래스의 ProtectionLevel 속성. 가능한 값에는 None, SignEncryptAndSign이 포함됩니다.

전송 설정

응용 프로그램 구성 파일에서 전송 속성은 dataCacheClient 요소의 자식인 transportProperties 요소에 정의됩니다. 전송 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(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 요소를 읽으려면 파일의 첫 번째 요소로 configSections 요소를 configuration 태그 아래에 포함해야 합니다. configSections 요소 내에는 dataCacheClient 요소와 연결된 section 요소를 하나 포함해야 합니다.

다음 예제는 이 항목에 설명된 많은 캐시 클라이언트 구성 옵션을 사용하는 응용 프로그램 구성 파일을 보여 줍니다. 클러스터에 연결하기 위해 dataCacheClienthosts 요소만 있으면 됩니다. 다른 자식 요소에는 모두 기본값이 있습니다.

<?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