응용 프로그램 구성 설정(Windows Server AppFabric 캐싱)
Windows Server AppFabric의 캐싱 기능을 사용하면 응용 프로그램의 여러 위치에서 프로그래밍 방식이나 응용 프로그램 구성 파일을 통해 또는 두 방법을 모두 사용하여 응용 프로그램의 캐시 클라이언트 설정을 구성할 수 있습니다. 이러한 각 구성 메서드와 이러한 메서드를 선택하는 방법에 대한 자세한 내용은 클라이언트 구성 옵션(Windows Server AppFabric 캐싱)을 참조하십시오.
사용하는 방법에 관계없이 동일한 캐시 클라이언트 설정을 구성합니다. 이 항목의 표에는 캐시 클라이언트에서 사용 가능한 설정이 나와 있으며, XML 기반 응용 프로그램 구성 파일에서, 그리고 코드를 사용하여 프로그래밍 방식으로 설정을 구성하는 방법을 보여 줍니다.
응용 프로그램에서 이러한 설정을 사용하는 방법에 대한 자세한 내용은 XML 기반 클라이언트 구성(Windows Server AppFabric 캐싱)에 설명된 예를 참조하십시오.
캐시 클라이언트 설정
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
클라이언트 시간 제한(밀리초) |
|
|
채널 열기 시간 제한(밀리초) |
|
DataCacheFactoryConfiguration 클래스의 ChannelOpenTimeout 속성 |
서버에 대한 최대 연결 수 |
|
DataCacheFactoryConfiguration 클래스의 MaxConnectionsToServer 속성 |
캐시 호스트 설정
각 캐시 클라이언트에 대해 클러스터의 캐시 호스트를 하나 이상 지정해야 합니다. 리드 호스트로 지정된 캐시 호스트가 클러스터 관리를 도와주기 때문에 리드 호스트를 지정합니다. 처음에는 클러스터에 설치된 첫 번째 캐시 호스트가 리드 호스트입니다. 리드 호스트에 대한 자세한 내용은 Windows Server AppFabric 캐싱 실제 아키텍처 다이어그램을 참조하십시오.
응용 프로그램 구성 파일에서 각 캐시 호스트에 대한 설정은 hosts
요소의 자식인 호스트 요소에 지정됩니다. 각 호스트는 DataCacheServerEndpoint 클래스의 클래스 생성자에 프로그래밍 방식으로 정의됩니다. 이러한 DataCacheServerEndPoint 개체는 인스턴스화된 후 DataCacheServerEndpoint 클래스의 Servers 속성에 전달됩니다.
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
캐시 서버 이름 |
|
DataCacheServerEndpoint 클래스의 HostName 속성 |
캐시 포트 번호 |
|
DataCacheServerEndpoint 클래스의 CachePort 속성 |
로컬 캐시 설정
로컬 캐시 설정은 로컬 캐시의 사용 여부, 로컬에 캐시된 개체의 무효화 방법, 개체 시간 제한 및 캐시 알림을 사용하여 로컬에 캐시된 개체를 무효화할지 여부를 지정합니다.
응용 프로그램 구성 파일에서 로컬 캐시 설정은 dataCacheClient
요소의 자식인 localCache
요소에 정의됩니다. 로컬 캐시는 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 로컬 캐시에 대한 자세한 내용은 캐시 클라이언트 및 로컬 캐시(Windows Server AppFabric 캐싱)를 참조하십시오.
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
로컬 캐시 사용 |
|
DataCacheLocalCacheProperties 클래스의 IsEnabled 속성 그런 다음 DataCacheFactoryConfiguration 클래스의 LocalCacheProperties 속성에 할당됩니다. |
로컬 캐시 무효화 방법 |
|
DataCacheLocalCacheProperties 클래스의 InvalidationPolicy 속성 가능한 값에는 NotificationBased 및 TimeoutBased가 포함됩니다. |
로컬 캐시 시간 제한(초) |
|
DataCacheLocalCacheProperties 클래스의 DefaultTimeout 속성 |
특정 캐시 알림 폴링 간격(초) |
(옵션) |
DataCacheNotificationProperties 클래스의 PollInterval 속성. 그런 다음 DataCacheFactoryConfiguration 클래스의 NotificationProperties 속성에 할당됩니다. |
로컬에 캐시된 최대 개체 수 |
(옵션) |
DataCacheLocalCacheProperties 클래스의 ObjectCount 속성 |
참고
최고 성능을 얻으려면 자주 변경되지 않는 개체에만 로컬 캐시를 사용하도록 설정합니다. 자주 변경되는 데이터에 로컬 캐시를 사용하면 클라이언트가 오래된 개체로 작업할 가능성이 커질 수 있습니다. ttlValue
를 줄이고 프로세스에서 로컬 캐시를 더 자주 새로 고치도록 할 수는 있지만 클러스터의 로드가 증가하여 로컬 캐시의 사용 이점이 상쇄될 수 있습니다. 자주 변경되는 데이터의 경우 로컬 캐시를 사용하지 않도록 설정하고 클러스터에서 직접 데이터를 끌어오는 것이 좋습니다.
알림 설정
응용 프로그램 구성 파일에서 알림 속성은 dataCacheClient
요소의 자식인 clientNotification
요소에 정의됩니다. 알림 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(Windows Server AppFabric 캐싱)를 참조하십시오.
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
특정 캐시 알림 폴링 간격(초) |
|
DataCacheNotificationProperties 클래스의 PollInterval 속성. 그런 다음 DataCacheFactoryConfiguration 클래스의 NotificationProperties 속성에 할당됩니다. |
최대 큐 길이 |
|
DataCacheNotificationProperties 클래스의 MaxQueueLength 속성 |
보안 설정
응용 프로그램 구성 파일에서 보안 속성은 dataCacheClient
요소의 자식인 securityProperties
요소에 정의됩니다. 보안 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(Windows Server AppFabric 캐싱)를 참조하십시오.
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
모드 |
|
DataCacheSecurity 클래스의 SecurityMode 속성. 가능한 값에는 None 및 Transport가 포함됩니다. 그런 다음 DataCacheSecurity 개체는 DataCacheFactoryConfiguration 클래스의 SecurityProperties 속성에 할당됩니다. |
보호 수준 |
|
DataCacheSecurity 클래스의 ProtectionLevel 속성. 가능한 값에는 None, Sign 및 EncryptAndSign이 포함됩니다. |
전송 설정
응용 프로그램 구성 파일에서 전송 속성은 dataCacheClient
요소의 자식인 transportProperties
요소에 정의됩니다. 전송 속성은 DataCacheFactory 클래스 생성자의 생성자에 전달된 DataCacheFactoryConfiguration 클래스 인스턴스를 사용하여 프로그래밍 방식으로 구성됩니다. 자세한 내용은 구성 메서드(Windows Server AppFabric 캐싱)를 참조하십시오.
설정 | XML 구성 위치 | 코드 구성 위치 |
---|---|---|
연결 버퍼 크기(바이트) |
|
DataCacheTransportProperties 클래스의 ConnectionBufferSize 속성. 그런 다음 DataCacheFactoryConfiguration 클래스의 TransportProperties 속성에 할당됩니다. |
최대 버퍼 풀 크기(바이트) |
|
DataCacheTransportProperties 클래스의 MaxBufferPoolSize 속성 |
최대 버퍼 크기(바이트) |
|
DataCacheTransportProperties 클래스의 MaxBufferSize 속성 |
최대 출력 지연(밀리초) |
|
DataCacheTransportProperties 클래스의 MaxOutputDelay 속성 |
채널 초기화 시간 제한(밀리초) |
|
DataCacheTransportProperties 클래스의 ChannelInitializationTimeout 속성 |
수신 시간 제한(밀리초) |
|
DataCacheTransportProperties 클래스의 ReceiveTimeout 속성 |
예제 응용 프로그램 구성 파일
AppFabric 어셈블리가 응용 프로그램 구성 파일에서 XML 요소를 읽으려면 파일의 첫 번째 요소로 configSections
요소를 configuration
태그 아래에 포함해야 합니다. configSections
요소 내에는 dataCacheClient
요소와 연결된 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