2014-09-25 2 views
3

BizTalk 2010 수신 위치는 70MB 파일을 얻은 다음 수신 위치의 인바운드 맵과 송신 포트의 아웃 바운드 맵을 사용하여 1GB 파일을 생성합니다.BizTalk 수신 위치 파일 입력 속도 줄이기

위의 프로세스를 수행하는 동안 많은 디스크 I/O 리소스가 SQL Server에서 사용됩니다. 또 다른 수신 위치 프로세스 성능이 크게 영향을받습니다.

우리는 수신 위치의 호스트 인스턴스에서 최대 디스크 I/O 스레드를 줄이려고 시도했지만 여전히 SQL Server에서 많은 디스크 I/O 리소스를 사용합니다.

실제로이 프로세스 우선 순위는 매우 낮습니다. 다른 프로세스 성능이 정상이 될 수 있도록이 프로세스의 디스크 I/O 리소스 사용을 줄이는 방법이 있습니까?

+1

이 특정 수신 포트에 대해 별도의 호스트를 만들려고 했습니까? – FCR

+0

예,이 특정 수신 위치에 대해 별도의 호스트를 생성하고이 별도의 호스트에 대해 최대 디스크 I/O 스레드를 더 낮게 설정하려고했습니다. 그러나 메시지 상자에 파일을 가져 오는 동안 많은 SQL Server 디스크 I/O를 계속 사용하며 다른 수신 위치의 파일 수신 성능에 영향을줍니다. – hosir

답변

1

이 문제는 파일 입력 속도와 관련이 없지만, MessageBox에 1GB 맵 출력을 유지하려고 할 때 메시지 상자에 표시되는로드에 대한 설명에서 언급 한 것처럼이 문제는 파일 입력 속도와 관련이 없습니다. 여기에 다른 프로세스에 미치는 영향을 최소화하기위한 몇 가지 옵션이 있습니다.

  1. 새로 생성 된 호스트의 제한 설정을 매우 낮게 조정하십시오. 이것은 당신이 원하는 방식대로 작동하지 않을 수도 있습니다.
  2. 이러한 파일의 수신 위치에 서비스 창을 설정하여 업무 시간 외에 만 실행되도록하십시오. MessageBox에 연중 무휴로 수요가 없으며 한밤중에 응답 속도가 느릴 경우 (예 : 2-3am)
  3. 요구 사항에 따라 처리 할 수있는 경우 수신 포트에서 파일을 매핑하지만 대신 오케스트레이션 및/또는 사용자 지정 파이프 라인 구성 요소로 라우트하여 작은 조각으로 분할 한 다음 작은 조각을 매핑합니다. 이것은 적어도 이들을 처리하는 속도에 대한 세분화 된 제어를 제공해야합니다 (조각을 처리하는 루프에서 지연 모양을 가짐). 다시 참여할 때 여전히 문제가있을 수 있지만 현재 프로세스만큼 나쁘지는 않습니다.

지도를 살펴 보는 것도 좋습니다. 느린/프로세서 무거운 호출이 많은 경우 리팩터링 할 수 있습니다.

0

파일을 debatch해야합니다. 각 개별 세그먼트에 대한 맵을 포함하여 비즈니스 로직을 적용한 다음 한 번에 하나씩 SQL에로드하십시오. 나중에 파이프 라인이나 다른 .NET 구성 요소를 사용하여 SQL에서 데이터를 가져 와서 데이터를 다시 패치 할 수 있습니다. BizTalk 메시지 상자에서 큰 xml (플랫 파일에 비해 크기가 10 배)을 처리하는 것은 좋지 않습니다. 그러나 순수한 메시징 시나리오 인 경우 파일을 스트림으로 변환하고 대상으로 라우팅 할 수 있습니다.