엔진의 MST 측정을 위한 테스트 시나리오
이 섹션에서는 세 가지 다른 부하 수준에서 BizTalk 시스템 구동 효과를 측정하도록 구현된 테스트 시나리오에 대해 설명합니다.
지속 가능한 부하 테스트. 이러한 테스트를 위해 지속 가능한 부하는 지속 가능한 성능이란? 항목에 설명되어 있습니다.
오버드라이브 부하 테스트. 오버드라이브 로드는 MST를 초과하는 일관된 부하로 정의됩니다.
수문 부하 테스트. 수문 부하는 MST를 초과하는 일시적인 부하 피크를 사용하여 낮은 부하로 정의됩니다.
이 항목에서는 테스트 하드웨어 구성, 테스트 시나리오에 대해 설명하고 이러한 테스트 각각의 결과를 살펴봅니다.
중요
사용자는 이 섹션에 포함된 정보가 게시된 날짜를 기준으로 논의된 문제에 대한 Microsoft의 현재 관점을 나타낸다는 점을 알아야 합니다. Microsoft에서는 변화하는 시장 상황과 기술에 반응해야 하므로 게시 날짜 이후에 제공되는 모든 정보의 정확성을 보장할 수는 없습니다.
시스템 구성 테스트
이 테스트 시나리오에 다음 하드웨어가 사용됩니다.
BizTalk 서버 6개. 서버마다 이중 3GHz 프로세서와 2GB RAM이 장착되어 있습니다. 각 서버는 로컬 디스크를 사용합니다. 여섯 대의 BizTalk Server 중 두 대는 수신 호스트의 인스턴스를 사용하여 구성되고, 다른 두 대는 송신 호스트의 인스턴스를 사용하여 구성되며, 남은 두 대는 오케스트레이션 처리에 사용되는 호스트의 인스턴스를 사용하여 구성됩니다.
master MessageBox 데이터베이스 및 MessageBox가 아닌 데이터베이스에 대한 하나의 SQL Server. 2GHz 프로세서 8개와 4GB RAM이 장착되어 있습니다. 이 서버는 파이버를 통해 고속 SAN 디스크 하위 시스템에 연결됩니다. 메시지 게시는 사용되지 않습니다.
게시되는 Messagebox 데이터베이스에 대한 3개의 SQL Server입니다. 2GHz 프로세서 4개와 4GB RAM이 장착되어 있습니다. 이러한 서버는 파이버를 통해 고속 SAN 디스크 하위 시스템에 연결됩니다. MessageBox 데이터베이스에 대한 데이터 및 트랜잭션 로그 파일은 별도의 SAN(저장 영역 네트워크) LUN(논리 단위 번호)에 있습니다.
드라이버 클라이언트 컴퓨터를 로드합니다. 이중 3GHz 프로세서 및 2GB RAM이 장착되어 있습니다. 이 서버는 BizTalk 시스템 테스트를 위해 부하를 생성하는 데 사용됩니다.
부하 테스트에 사용되는 토폴로지는 아래에서 설명됩니다.
부하 테스트에 사용되는 토폴로지
테스트 시나리오
테스트 시나리오는 아주 간단합니다. 부하 생성 도구인 LoadGen 2007은 부하 드라이버 서버에 설치되어 있고 파일 복사본을 FILE 어댑터가 모니터링하는 공유로 보내는 데 사용되었습니다. 부하 생성 도구는 입력 파일 인스턴스의 복사본을 파일 공유 전체에 고르게 분산시킵니다.
참고
LoadGen을 다운로드합니다. MSMQ 어댑터에서 LoadGen을 사용하는 방법에 대한 자세한 내용은 MSMQ에서 LoadGen 2007 사용을 참조하세요.
BizTalk FILE 어댑터는 파일 공유를 모니터링하고 MessageBox에 메시지를 게시하도록 구성되어 있습니다. 수신 셰이프와 송신 셰이프만 포함하는 단순한 오케스트레이션을 게시된 메시지에 등록합니다. 오케스트레이션에 의해 다시 MessageBox에 게시된 메시지는 파일 송신 포트에 의해 선택되고 SAN에 정의된 일반 공유로 보내집니다. 출력 SAN 공유에 도착하는 파일은 장기간 실행되는 테스트 중 해당 공유에 파일이 빌드되지 않도록 하기 위해 즉시 삭제됩니다.
시나리오를 위해 네 개의 호스트가 정의되었으며 수신 위치, 오케스트레이션, 송신 포트 및 추적용으로 각각 해당됩니다. 엔진 백로그 동작을 조사하기 위해 테스트 실행 중에는 추적 기능이 완전히 해제됩니다. 기본적으로 추적은 파이프라인 및 오케스트레이션에 대해서만 활성화되므로 사용된 오케스트레이션과 파이프라인에 대해 BizTalk 관리자의 추적이 명시적으로 해제되었습니다.
이러한 테스트를 위해 핵심 MessageBox 동작을 격리하도록 추적이 해제되었으므로 추적 호스트의 인스턴스가 생성되지 않습니다.
테스트에 사용된 단순 스키마와 인스턴스 파일은 모두 크기가 10KB입니다. XMLReceive 파이프라인이 인바운드 문서에 사용되었으며 테스트 시나리오를 단순하게 유지하고 MessageBox의 동작에 조사의 초점을 맞추기 위해 매핑 구성 요소나 아웃바운드 구성 요소는 사용되지 않았습니다.
테스트에서 매개 변수 측정
이 테스트에서 측정된 매개 변수는 다음과 같습니다.
기본 테스트 매개 변수 측정
다음 매개 변수는 MST를 측정할 때 사용되는 기본 표시기입니다.
BizTalk:MessageBox:General Counters 성능 개체에서 사용할 수 있는 Spool 크기 카운터로 측정된 MessageBox 백로그입니다. Messagebox 백로그는 지속성의 주요 표시기입니다. 그러나 MessageBox 백로그가 무한정 커지면 결국 문제가 발생할 수 밖에 없습니다. 따라서 시간별로 모니터링되는 MessageBox 데이터베이스 백로그의 깊이는 지속성을 평가하는 데 사용됩니다.
spool이라는 MessageBox 테이블에는 시스템의 각 메시지에 대한 레코드가 포함되어 있습니다(활성 또는 가비지 수집 대기 중). 이 테이블의 행 수와 초당 수신된 메시지 수를 모니터링하면서 시스템 부하를 높이면 유지 가능한 최대 처리량을 쉽게 측정할 수 있습니다. 이 측정을 스풀 테이블 깊이 또는 스풀 깊이라고도 합니다.
BizTalk:Messaging 성능 개체에서 사용할 수 있는 받은 문서/초 카운터로 측정된 초당 받은 문서 수입니다.
보조 테스트 매개 변수 측정
다음 매개 변수는 MST를 측정할 때 평가될 수 있는 보조 표시기입니다. 이러한 매개 변수는 스풀 깊이의 기본 표시기와 초당 수신된 문서 수에 영향을 줄 수 있습니다.
LogicalDisk 성능 개체에서 사용할 수 있는 %유휴 시간 카운터로 측정된 MessageBox 데이터 및 트랜잭션 파일 디스크의 실제 디스크 유휴 시간입니다.
Processor 성능 개체에서 사용할 수 있는 %Processor Time 카운터로 측정된 MessageBox 서버의 CPU 사용률(%)입니다.
SQLServer:Locks 성능 개체에서 사용할 수 있는 Lock Timeouts/sec 카운터로 측정된 MessageBox 데이터베이스의 잠금 시간 제한(초)입니다.
제거된 메시지와 연결된 MessageBox 테이블을 정리하는 SQL 에이전트 작업의 가장 최근 실행 시간(초). BizTalk:MessageBox:General Counters 성능 개체에서 사용할 수 있는 MsgBox Msg Cleanup(제거 작업) 카운터로 측정됩니다.
게거된 메시지 파트와 연결된 MessageBox 테이블을 정리하는 SQL 에이전트 작업의 가장 최근 실행 시간(초). BizTalk:MessageBox:General Counters 성능 개체에서 사용할 수 있는 MsgBox 파트 정리(작업 제거) 카운터로 측정됩니다.
유지 가능한 최대 처리량을 확인하기 위해 테스트 시 입력 부하를 스풀 테이블이 무한정 커지기 시작한 지점까지 증가시켰습니다
참고
스풀 테이블이 무한정 커지도록 충분한 부하를 생성할 수 없으면 시스템의 가장 느린 부분이 처리/송신 쪽보다는 수신 쪽에 있다는 것을 나타냅니다.