Aaron H. Kim Fearless Integration Maniac

Orchestration이 Dehydration되는 시간을 조절할 수 있을까?

2007-02-12
Aaron Kim

이건 자주 쓸 일은 없지만, BizTalk 개발자가 필요에 따라 Orchestration이 Dehydration되는 시간 간격을 조정하고 싶을 때 쓸 수 있는 방법입니다.

일단 Dehydration의 의미를 모르는 분들을 위해 설명드리면,

BizTalk Orchestration이 특정 작업없이 너무 오랫동안 Active되어 있는 것을 막기 위해

Active일때의 상태를 영구 저장소에 저장하고 메모리에서 Orchestration을 제거하여 리소스의 낭비를 막는 BTS Engine에서의 작업을 말합니다. (유휴시킴)

반대로 유휴 상태의 Orchestration을 활성화시키는 것을 Rehydration이라고 합니다.

간격을 조정하는 방법은 다소 까다로울 수도 있는데.. BTSNTSvc.exe.config 파일(BTS 설치 디렉토리)를 수정해주셔야 합니다

<?xml version=”1.0″ ?><br><configuration><br><configSections><br><section name=”xlangs” type=”Microsoft.XLANGs.BizTalk.CrossProcess.XmlSerializationConfigurationSectionHandler, Microsoft.XLANGs.BizTalk.CrossProcess” /><br></configSections><br><runtime><br><assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″><br><probing privatePath=”BizTalk Assemblies;Developer Tools;Tracking” /><br></assemblyBinding><br></runtime><br><xlangs><br><Configuration><br><Dehydration MaxThreshold=”1800″ MinThreshold=”1″ ConstantThreshold=”-1″><br><VirtualMemoryThrottlingCriteria OptimalUsage=”900″ MaximalUsage=”1300″ IsActive=”true” /><br><PrivateMemoryThrottlingCriteria OptimalUsage=”50″ MaximalUsage=”350″ IsActive=”true” /><br><PhysicalMemoryThrottlingCriteria OptimalUsage=”50″ MaximalUsage=”350″ IsActive=”false” /><br></Dehydration><br></Configuration><br></xlangs><br></configuration>

일반적인 Dynamic Dehydration timeout 설정의 경우, 위와 같이 정해주면 1초~1800초 사이에서 불규칙하게 Dehydration이 일어납니다. 반면 ConstantThreshold 가 -1이 아닐 경우 ConstantThreshold의 값을 우선적으로 하여 항상 정해진 시간이 지난후 Dehydration됩니다. (-1은 정적인 값을 사용하지 않겠다는 의미입니다.)


Similar Posts

Comments