Mirth 3.0.1 버전을 사용 중입니다. 나는 34,000 개의 레코드를 가진 파일 (파일 판독기 사용)을 읽고있다. 모든 레코드는 45 개의 열을 가지며 파이프 (|)로 구분됩니다. 디스크에서 파일을 읽는 동안 너무 오래 걸립니다. Mirth는 파일이있는 서버와 동일한 서버에 설치됩니다. 이전에는 파일 mcserver.vmoptions & mcservice.vmoptions에서 -Xms1024m -Xmx4096m을 설정 한 후 해결 된 Java 헤드 스페이스 문제에 직면했습니다. 이제 읽기 성능 문제를 해결해야합니다. 첨부 파일에서 동일한 채널을 찾으십시오.Mirth이 디스크에서 너무 느리게 읽음
답변
이 문제의 해답은 솔루션 자체에 크게 좌우됩니다. 예를 들어, 벤치 마크 할 때 변환을 수행하는 경우 문제는 파일을 읽는 것이 아니라 Mirth에서 엄청난 양의 필터링 및 변환을 수행하는 것일 수 있습니다. Mirth은 구성한 모든 것을 기본적으로 서버에서 실행되는 하나의 거대한 자바 스크립트로 변환하기 때문에 성능 문제를 야기 할 수 있습니다. Mirth가 전체 파일을 읽도록하는 작업을 수행하면 전 처리기 스크립트로 인해 문제가 발생할 수도 있습니다.
파일의 34.000 줄에 방대한 양의 정보가 포함되어있어 파일을 매우 크고 처리하기가 간단 할 수도 있습니다. 파일의 모든 레코드가 Mirth 내에 새 메시지를 작성해야하는 경우 독자의 일괄 처리 설정을 확인해야 할 수도 있습니다.
그리고이 외에도 디스크의 읽기 작업 성능은 물론 플랫폼 자체의 인프라와 하드웨어에 많은 영향을받습니다. 당신은 당신이 파일을 로컬에서 읽고 있다고 말했고, 당신은 Mirth을위한 기억을 증가시켜야 만했다. 물론이 모든 것은 그 자체로 문제가 될 수 있습니다. 벤치마킹을하려면 이것을 다른 것과 비교하고 싶을 것입니다. 어쩌면 Mirth 이외의 성능을 비교하기 위해 파일을 읽는 작은 Java 프로그램을 작성하십시오.
제안 해 주셔서 감사합니다. 나는 router.routeMessage ('channelName', 'PartOfMsg')를 사용하여 34000 개의 레코드가있는 파일에서 5000 개의 레코드 (한 채널에서 두 번째 채널로)를 라우팅했습니다. 이는 파일에서 더 빨리 읽고 레코드를 동시에 처리하는 데 도움이됩니다.
환락 지역 사회를위한, 아래 경로에 대한 코드는, 당신은 일괄
In Source Transformer,
debug = "ON";
XML.ignoreWhitespace = true;
logger.debug('Inside source transformer "SplitFileIntoFiles" of channel: SplitFile');
var
subSegmentCounter = 0,
xmlMessageProcessCounter = 0,
singleFileLimit = 5000,
isError = false,
xmlMessageProcess = new XML(<delimited><row><column1></column1><column2></column2></row></delimited>),
newSubSegment = <row><column1></column1><column2></column2></row>,
totalPatientRecords = msg.children().length();
logger.debug('Total number of records found in the patient input file are: ');
logger.debug(totalPatientRecords);
try{
for each (seg in msg.children())
{
xmlMessageProcess.appendChild(newSubSegment);
xmlMessageProcess['row'][xmlMessageProcessCounter] = msg['row'][subSegmentCounter];
if (xmlMessageProcessCounter == singleFileLimit -1)
{
logger.debug('Now sending the 5000 records to the next channel from channel DOR Batch File Process IHI');
router.routeMessage('DOR SendPatientsToMedicare',xmlMessageProcess);
logger.debug('After sending the 5000 records to the next channel from channel DOR Batch File Process IHI');
xmlMessageProcessCounter = 0;
delete xmlMessageProcess['row'];
}
subSegmentCounter++;
xmlMessageProcessCounter++;
}// End of FOR loop
}// End of try block
catch (exception)
{
logger.error('The exception has been raised in source transformer "SplitFileIntoFiles" of channel: SplitFile');
logger.error(exception);
globalChannelMap.put('isFailed',true);
globalChannelMap.put('errDesc',exception);
return true;
}
if (xmlMessageProcessCounter > 1)
{
try
{
logger.debug('Now sending the remaining records to the next channel from channel DOR Batch File Process IHI');
router.routeMessage('DOR SendPatientsToMedicare',xmlMessageProcess);
logger.debug('After sending the remaining records to the next channel from channel DOR Batch File Process IHI');
delete xmlMessageProcess['row'];
}
catch (exception)
{
logger.error('The exception has been raised in source transformer "SplitFileIntoFiles" of channel: SplitFile');
logger.error(exception);
globalChannelMap.put('isFailed',true);
globalChannelMap.put('errDesc',exception);
return true;
}
}
return true;
// End of JavaScript
희망을 처리하는 기록의 대부분을 경우 다른 채널에 하나 개의 채널에서 MSG가,이 솔루션은 요구 사항에 대해서도이다 도움이 될 것입니다.
- 1. rsync가 너무 느리게 삭제합니까?
- 2. 활동이 너무 느리게 끝납니다.
- 3. 로드보기가 너무 느리게 나타납니다.
- 4. XSLT가 너무 느리게 작동합니다.
- 5. 각도-UI는 너무 느리게
- 6. Windbg가 너무 느리게 작동합니까?
- 7. Monotouch의 uitable가 너무 느리게
- 8. CoreNLP가 너무 느리게 실행됩니다.
- 9. 프로그램에서 너무 많은 십진수를 읽음
- 10. Xcode에서 커서가 너무 느리게 움직입니다.
- 11. R 루프가 너무 느리게 실행됩니다.
- 12. PropertyInfo getValue가 너무 느리게 작동합니다.
- 13. 왜 Minitest가 너무 느리게 실행됩니까?
- 14. MediaCodecMuxer가 너무 느리게 인코딩 됨
- 15. 내 그림이 너무 느리게 움직입니다.
- 16. 안드로이드가 배경색을 너무 느리게 변경합니다.
- 17. jquery 메뉴가 너무 느리게 슬라이드됩니까?
- 18. DataGrid에 데이터를 너무 느리게 표시합니다.
- 19. 버튼의 색상이 너무 느리게 변경됨
- 20. 자동 누락이 너무 느리게 작동합니다
- 21. Wildfly가 너무 느리게 배포 됨
- 22. 구조체에 이진 파일을 너무 많이 읽음 C++
- 23. 업로드 버튼이 너무 느리게 표시되는 이유는 무엇입니까?
- 24. Rails가보기를 너무 느리게 렌더링하는 이유는 무엇입니까?
- 25. JavaScript 중첩 루프가 함수를 너무 느리게 실행합니다.
- 26. Google 스크립트가 너무 느리게 실행 중입니다.
- 27. WPF 응용 프로그램이 너무 느리게 시작됩니다.
- 28. 왜이 간단한 OpenCL 커널이 너무 느리게 실행됩니까?
- 29. Erlang에서 IO가 너무 느리게 실행되는 이유는 무엇입니까?
- 30. UIScrollView가 너무 느리게 스크롤되어 scrollViewDidEndDecelerating을 호출하지 않습니다.
이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). –
@max_ 너는 옳다. Mirth 관련 질문이 적 으면 저에게 평판을 사기위한 충분한 기회를주지 못합니다. 그래서 저는 "이 질문을 무시해야합니까?"또는 "도움을 얻기 위해 더 많은 정보를 얻기 위해 시스템을 남용해야합니까?"라는 질문에 약간의 걸림돌이 있습니다. 미안합니다. – gurun
@max_ 메타에 제안 된대로 질문을 변경하여 대답처럼 들립니다. – gurun