다음을 통해 공유


호스트 조정 정의

BizTalk Server에서 발생하는 대부분의 처리 작업은 BizTalk Server에서 Windows 서비스로 실행되는 프로세스 또는 Isolated 호스트 프로세스인 BizTalk Server 호스트 인스턴스라는 논리적 엔터티 내에서 발생합니다. 호스트 인스턴스 프로세스의 리소스 사용을 관리하기 위해 BizTalk Server에서는 호스트 인스턴스를 통한 메시지의 흐름 및 처리를 제어하는 조절 가능한 조정 메커니즘을 활용합니다.

조정 메커니즘은 작업이 호스트 인스턴스나 다운스트림 호스트 인스턴스의 용량을 초과하지 않도록 호스트 인스턴스의 작업을 조정합니다. 또한 조정 메커니즘은 호스트 인스턴스 프로세스 또는 다른 시스템 프로세스의 전체 성능을 저하시킬 수 있는 리소스 충돌 상태를 방지합니다. 하나 이상의 프로세스에서 프로세스 자체 및/또는 다른 프로세스를 손상시킬 정도로 과도하게 제한된 리소스를 사용하면 리소스 충돌이 발생합니다. 예를 들어 메모리나 스레드를 과도하게 사용하면 프로세스 성능에 영향을 미칠 수 있는 메모리 할당 실패나 과도한 스레드 컨텍스트 전환이 발생할 수 있습니다. 이와 같은 리소스 충돌은 전반적인 BizTalk Server 성능을 저하시킬 수 있습니다.

또한 호스트 조정 메커니즘은 사용 가능한 리소스가 충분히 활용되고 있지 않은 경우 이를 감지합니다. 사용 가능한 리소스가 충분히 활용되고 있지 않은 경우 조정 메커니즘은 호스트 인스턴스가 추가 메시지를 처리하도록 허용합니다. 호스트 조정 메커니즘은 사용 가능한 리소스가 과도하게 활용되고 있는지, 아니면 충분히 활용되고 있지 않은지를 지속적으로 모니터링하여 호스트 인스턴스를 통한 메시지 흐름을 적절하게 조정합니다.

BizTalk Server 호스트 조정 메커니즘을 통해 시스템이 유지 가능한 최적의 수준에서 작동되도록 할 수 있습니다.

호스트 조정 구성 매개 변수는 BizTalk Server 관리 콘솔에 호스트별로 설정됩니다. 호스트에 대해 설정된 조정 구성 매개 변수는 해당 호스트 인스턴스에 있는 모든 수신 핸들러, 송신 핸들러 또는 오케스트레이션에 적용됩니다. 특정 수신 핸들러, 송신 핸들러 또는 오케스트레이션에만 적용될 조정 매개 변수를 설정하려면 다음을 수행해야 합니다.

  • 새 호스트를 만들고 조정 매개 변수를 적절하게 설정합니다.

  • 이 호스트에서 실행할 수신 핸들러, 송신 핸들러 또는 오케스트레이션을 구성합니다.

  • BizTalk Server에서 실행할 이 호스트의 인스턴스를 하나 이상 만듭니다.

인바운드 호스트 조정

BizTalk Server 메시지 게시 제한이라고도 하는 인바운드 호스트 제한은 MessageBox 데이터베이스에 메시지를 게시하는 수신 어댑터 또는 오케스트레이션이 포함된 호스트 인스턴스에 적용됩니다. 인바운드 호스트 조정 상태는 다음과 같은 경우 트리거될 수 있습니다.

  • 메모리 양, 스레드 수 또는 호스트 instance 사용하는 데이터베이스 연결 수가 BizTalk 그룹에서 사용할 수 있는 설정 대시보드에 정의된 제한 임계값을 초과하고 설정을 선택합니다. 이러한 값은 BizTalk:Message Agent 성능 개체 범주에서 사용할 수 있는 성능 모니터 카운터를 사용하여 측정할 수 있습니다.

  • 다운스트림 호스트가 이미 게시된 메시지를 처리할 수 없습니다. 이렇게 하면 DB 매개 변수의 메시지 개수 값이 증가합니다. DB 값의 메시지 수가 제한 조건을 트리거하는 임계값은 설정 대시보드호스트 옵션에서 구성할 수 있습니다. 데이터베이스의 메시지 수는 BizTalk:Message Agent 성능 개체 범주 아래의 데이터베이스 크기 카운터로 측정할 수 있습니다.

  • 호스트 instance 대한 메시지 게시 수신률이 메시지 게시 발신 속도\* 지정된 속도 오버드라이브 요소 값을 초과합니다. 속도 오버드라이브 요소 값은 설정 대시보드, 호스트속도 기반 제한에 정의됩니다. 수신 및 발신 속도를 게시하는 메시지는 BizTalk:Message Agent 성능 개체 범주 아래의 해당 성능 모니터 카운터로 측정할 수 있습니다.

  • 기본 제한 동작이 수정되었습니다. BizTalk Server 성능 튜닝에 설정 대시보드를 사용하면 제한 동작에 영향을 주는 다양한 값을 설명합니다.

    조정 상태의 심각도에 따라 다음 작업이 수행됩니다.

  • 호스트 인스턴스의 처리 논리에 점진적인 지연이 구현됩니다. 지연은 EPM(종단점 관리자) 스레드가 전송 어댑터에서 메시지 일괄 처리를 수신할 때 및/또는 EPM이 MessageBox 데이터베이스에 게시될 메시지 일괄 처리를 전송할 때 구현될 수 있습니다. 처리 지연 기간 및 이 기간의 증가율 모두 조정 상태의 심각도에 따라 조정됩니다.

  • EPM(종단점 관리자)에서 사용할 수 있는 스레드 수가 제한됩니다. EPM은 어댑터에서 메시지 일괄 처리를 받아 MessageBox 데이터베이스에 메시지를 게시합니다. 기본적으로 EPM은 CPU당 20개의 스레드를 사용하도록 구성됩니다. 인바운드 처리에 대해 스트레스 상태를 감지한 경우 호스트 조정 메커니즘은 스트레스 상태가 제거될 때까지 EPM에서 사용할 수 있는 스레드 수를 일시적으로 줄일 수 있습니다. EPM 스레드가 인바운드 메시지 일괄 처리를 서비스할 수 있을 때까지 EPM은 전송 어댑터의 메시지를 처리하거나 MessageBox 데이터베이스로 메시지 일괄 처리를 배달할 수 없습니다.

  • 가능한 경우 메모리 및 다른 리소스 사용률이 줄어듭니다. BizTalk Server에서는 실행 중인 일정을 디하이드레이션하고 메모리 캐시 크기를 줄이며 메모리를 많이 사용하는 스레드 사용을 제한하는 방법으로 다른 서비스 클래스에 지침을 보내 메모리 사용을 제한할 수 있습니다.

    어댑터에서 MessageBox로의 인바운드 메시지 흐름

    어댑터에서 MessageBox 메시지 흐름

아웃바운드 호스트 조정

BizTalk Server 메시지 처리 제한이라고도 하는 아웃바운드 호스트 제한은 MessageBox에 게시된 메시지를 수신하고 전달하거나 처리하는 오케스트레이션 또는 송신 어댑터를 포함하는 호스트 인스턴스에 적용됩니다. 아웃바운드 호스트 조정 상태는 다음과 같은 경우 트리거될 수 있습니다.

  • 메모리 양, 스레드 수 또는 호스트 instance 사용하는 데이터베이스 연결 수가 설정 대시보드리소스 기반 제한에 정의된 제한 임계값을 초과합니다. 이러한 값은 BizTalk:Message Agent 성능 개체 범주에서 사용할 수 있는 성능 모니터 카운터를 사용하여 측정할 수 있습니다.

  • 호스트 instance 대한 메시지 배달 수신 속도가메시지 배달 발신 속도 * 지정된 속도 오버드라이브 비율 값을 초과합니다. 속도 오버드라이브 요소 값은 설정 대시보드속도 기반 제한 탭에 정의되어 있습니다. 메시지 배달 수신 및 발신 속도는 BizTalk:Message Agent 성능 개체 범주 아래의 해당 성능 모니터 카운터로 측정할 수 있습니다.

  • 호스트 instance 동시에 처리되는 메시지 수가 CPU당 In-process 메시지 * 상자에서 사용할 수 있는 CPU 수를 초과합니다. In-process 메시지 임계값은 설정 대시보드리소스 기반 제한 탭에 정의되어 있습니다. 호스트 instance 동시에 처리되는 메시지 수는 BizTalk:Message Agent 성능 개체 범주 아래의 In-process 메시지 수 성능 카운터로 측정할 수 있습니다.

  • 기본 제한 동작이 수정되었습니다. BizTalk Server 성능 튜닝에 설정 대시보드를 사용하면 제한 동작에 영향을 주는 다양한 값을 설명합니다.

    조정 상태의 심각도에 따라 다음 작업이 수행됩니다.

  • 메시지 처리를 위해 아웃바운드 전송 어댑터나 오케스트레이션 엔진으로 메시지를 배달하기 전에 호스트 인스턴스 처리 논리의 점진적인 지연이 구현됩니다. 처리 논리 지연 기간 및 이 기간의 증가율 모두 조정 상태의 심각도에 따라 조정됩니다.

  • 메모리 내 큐가 보유할 수 있는 메시지 수가 제한됩니다. 메모리 내 큐는 MessageBox에서 메시지 에이전트로 메시지를 배달하고 메시지 에이전트가 다시 XLANG 및 송신 어댑터로 메시지를 배달하기 위한 임시 자리 표시자 역할을 합니다. 기본적으로 메모리 내 큐는 CPU당 100개의 메시지를 보유하도록 설정됩니다. 큐가 꽉 차면 메모리 내 큐에 공간을 만들 때까지 MessageBox 큐에서 더 이상 메시지가 나오지 않습니다.

  • 메시지 에이전트 스레드 풀의 크기가 제한됩니다. 호스트 조정 메커니즘은 메시지 에이전트 스레드 풀의 크기를 제한하여 XLANG 및 어댑터로 배달되는 메시지 수를 효과적으로 줄입니다.

    기본 메시지 에이전트 스레드 풀 크기는 설정 대시보드일반 탭에서 최대 엔진 스레드 값을 변경하여 수정할 수 있습니다. 이 값을 수정하는 방법에 대한 자세한 내용은 일반 설정을 수정하는 방법을 참조하세요.

  • 가능한 경우 메모리 및 다른 리소스 사용률이 줄어듭니다. BizTalk Server에서는 실행 중인 일정을 디하이드레이션하고 메모리 캐시 크기를 줄이며 메모리를 많이 사용하는 스레드 사용을 제한하는 방법으로 다른 서비스 클래스에 지침을 보내 메모리 사용을 제한할 수 있습니다.

    MessageBox에서 어댑터 및 XLANG으로의 아웃바운드 메시지 흐름

    어댑터 및 XLANG 메시지 흐름

참고 항목

BizTalk Server의 호스트 제한 구현 방법
BizTalk Server 성능 튜닝에 설정 대시보드 사용