현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

복제 배포 하 고 복제 로그 판독기 에이전트에 대 한 성능 통계 도구 소개

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:2892631
소개
성능 통계는 mslogreader_historytable 및 Microsoft SQL Server 배포 데이터베이스에 msdistribution_historytable 추가 되었습니다. 이 통계는 복제 배포 하 고 복제 로그 판독기 에이전트의 최근 성능 기록에 볼 수 사용할 수 있습니다.

참고: 이러한 변경 내용은 처음으로 작성 된 다음에 SQL Server 빌드:
  • 9.00.4220
  • 9.00.3315
  • 10.00.1806
  • 10.00.2714

5 분 마다 로그 판독기 및 배포 에이전트에 대 한 성능 통계는 recordedin 기록 테이블. 기본적으로 마지막 48 시간에 대 한 데이터만 유지 됩니다. 정리 프로세스는 48 시간 보다 오래 된 데이터를 제거 합니다. Sp_changedistributiondb 저장 프로시저를 실행 하 고 history_retention 매개 변수에 대해 새 값을 지정 하 여 기본값을 변경할 수 있습니다.

다음은 샘플 성능 출력 로그 판독기 에이전트에 대 한 기록 테이블 에서입니다.

<stats state="1" work="9" idle="295">  <reader fetch="8" wait="0"/>  <writer write="9" wait="0"/>  <sincelaststats elapsedtime="304" work="9" cmds="52596" cmdspersec="5753.000000">    <reader fetch="8" wait="0"/>    <writer write="9" wait="0"/>  </sincelaststats></stats> 

세 가지 상태 이벤트 기록 될 수 있습니다.
상태설명
1판독기와 기록기 스레드 성능을 설명 하는 일반 이벤트입니다.
2판독기 스레드는 에이전트의 에이전트의 -messageinterval시간 보다 오래 대기 하는 경우 발생 하는 이벤트를 발생 합니다. (기본적으로 시간이 60 초입니다.) 에이전트에 기록 된 상태 2 이벤트를 발생 하면 에이전트는 변경 내용을 대상으로 기록 하는 데 시간이 오래 걸린다는 나타냅니다.
3쓰기 스레드가-messageinterval시간 보다 오래 대기 하는 경우 로그 판독기 에이전트에 의해서만 생성 되는 이벤트를 발생 합니다. 3 상태 기록 된 이벤트를 로그 판독기 에이전트의 경우 에이전트는 트랜잭션 로그에서 복제 된 변경 내용을 검색 하는 데 오랜 시간이 걸린다는 나타냅니다.
배포 에이전트가 판독기 스레드
다음과 같은 성능 통계 및 병목은 배포 에이전트 판독기 스레드 복제 토폴로지에서 대기는 상황을 보여 줍니다. 이 스레드에 있는 배포 데이터베이스 (쿼리배포 서버&gt;.. MSdistribution_history.Commentstable) 구독자에 적용 하는 명령입니다.

<stats state="1" work="14798" idle="2035">
<reader fetch="14798" wait="193"></reader>
<writer write="12373" wait="9888"></writer>
<sincelaststats elapsedtime="424" work="415" cmds="296900" cmdspersec="713.000000">
<reader fetch="415" wait="7"></reader>
<writer write="377" wait="212"></writer>
</sincelaststats>
</stats>


"Sincelaststats" 기록기 대기 시간 (212 초) 높게 나타납니다. 쓰기 스레드가 쓰기 스레드가 구독자 데이터베이스에 적용할 수 있는 버퍼를 제공 하는 판독기 스레드가 기다리는 시간입니다. TheDistribution 에이전트 판독기 스레드가sp_MSget_repl_commands 저장 프로시저를 실행합니다.

대기 시간이 배포 에이전트 성능 통계에 높은 기록기를 있으면 배포 서버 및 데이터베이스에 대해 배포 에이전트 실행의 성능을 조사 해야 합니다. 특히sp_MSget_repl_commands 저장 프로시저의 실행 시간을 조사 해야 합니다.
배포 에이전트가 작성기 스레드
다음과 같은 성능 통계 및 병목은 배포 에이전트 판독기 스레드 복제 토폴로지에서 대기는 상황을 보여 줍니다. 이 스레드에 있는 배포 데이터베이스 (쿼리배포 서버&gt;.. MSdistribution_history.Comments 표) 구독자에 적용 하는 명령입니다.

참고: 상태는 2 이며 출력 상태 1 통계와에서는 다소 차이가 있습니다. 2 상태 상태 데이터 판독기 스레드는 배포 에이전트 보다 오래 대기 해야 나타냅니다-messageinterval 값을 구성 합니다. 기본적으로 -messageinterval 값은 60 초입니다.

<stats state="2" fetch="48" wait="384" cmds="1028" callstogetreplcmds="321">
<sincelaststats elapsedtime="312" fetch="47" wait="284" cmds="1028" cmdspersec="3.000000"></sincelaststats>
</stats>


-Messageinterval값을 증가 시켜 다시 상태 1 통계 다음과 유사한 나타날 수 있습니다.

<stats state="1" work="1941" idle="0">
<reader fetch="717" wait="1225"></reader>
<writer write="1941" wait="134"></writer>
<sincelaststats elapsedtime="764" work="764" cmds="1170730" cmdspersec="1530.000000">
<reader fetch="258" wait="505"></reader>
<writer write="764" wait="50"></writer>
</sincelaststats>
</stats>


참고: 505 초 sincelaststats 인출 대기 시간이 매우 높습니다.

대기 시간이 배포 에이전트 성능 통계에는 높은 독자를 발생 하면 배포 에이전트 실행의 구독자 서버 및 데이터베이스에 대 한 성능 조사 해야. 프로파일러 추적 도구를 사용 하 여 복제 저장 프로시저의 실행 성능을 조사 합니다. 일반적으로 저장된 프로시저는 이름은 다음과 같습니다.
  • sp_MSupd_ownertablename>
  • sp_MSins_ownertablename>
  • sp_MSdel_ownertablename>
또한 병목 상태가 하드웨어 또는 시스템 기반 인지를 확인 하기 위해 시스템 성능을 모니터링 하려면 성능 모니터를 사용 합니다. 예를 들어, 성능 모니터 마다 실제 디스크 카운터 사용.
로그 판독기 에이전트 판독기 스레드
다음과 같은 성능 통계 및 병목은 판독기 에이전트 로그 판독기 스레드 복제 토폴로지에서 대기는 상황을 보여 줍니다. 로그 판독기 에이전트 판독기 스레드 명령을 배포 데이터베이스에 배달 하려면 게시 데이터베이스 트랜잭션 로그를 검사 합니다.

<Distribution server="">... MSlogreader_history.Comments

</Distribution>
<stats state="1" work="301" idle="0">
<reader fetch="278" wait="0"></reader>
<writer write="12" wait="288"></writer>
<sincelaststats elapsedtime="301" work="301" cmds="104500" cmdspersec="347.000000">
<reader fetch="278" wait="0"></reader>
<writer write="12" wait="288"></writer>
</sincelaststats>
</stats>


288 초 sincelaststats 기록기 대기 통계 높게 나타납니다. 적용할 수 있는 버퍼를 제공 하는 판독기 스레드가 쓰기 스레드가 대기 하는 시간입니다. Sp_replcmds저장 프로시저를 실행 하는 로그 판독기 에이전트가 판독기 스레드입니다. 성능 통계 로그 판독기 에이전트에에서 대 한 스레드를 대기 하는 높은 기록기를 있으면 게시 서버와 데이터베이스에 대해 로그 판독기 에이전트 실행의 성능을 조사 해야 하며sp_replcmds 저장 프로시저의 실행 시간을 조사 하십시오.

다음은 각 성능 통계에 대 한 설명을입니다.
통계상태설명
상태1 상태:이 상태 일반적인 일괄 처리 커밋 후 성능 보고서 임을 나타냅니다.

상태 2: 판독기 스레드 이면 일괄 읽기 messageinterval 속성 값 보다 더 긴 시간을 대기 합니다.

상태 3: 쓰기 스레드가 일괄 쓰기-messageinterval 값 보다 더 긴 시간을 대기 하는 나타냅니다.
명령어2만이 상태는 theDistribution 에이전트에서 읽은 명령의 수를 나타냅니다.
callstogetreplcmds2만이 상태는 배포 에이전트가 sp_MSget_repl_commands저장 프로시저 호출 수를 나타냅니다.
작업에이전트가 마지막 에이전트 시작 이후 작업에 소요 된 누적 시간을 값을 나타냅니다. 시간 유휴 시간을 제외합니다.
유휴 상태Sp_replcmds 저장 프로시저를 호출 하 여 트랜잭션이 이전 호출에서 반환 또는 에이전트를 마지막으로 시작한 이후 해당 트랜잭션 수가 MaxTrans 속성 값 보다 작은 경우에 에이전트가 대기 누적 시간을 값을 나타냅니다.
판독기 반입판독기 에이전트를 마지막으로 시작한 이후 소요 된 누적 시간을 값을 나타냅니다. 시간 유휴 시간 및 기록기에 대 한 대기 시간을 제외합니다.
판독기 대기에이전트를 마지막으로 시작한 이후 누적 작성기에 대 한 대기 시간을 값을 나타냅니다. 값 쓰기 스레드가 판독기는 데이터 버퍼를 다시 채울 수 전에 데이터 버퍼를 사용 하 여 끝나기를 기다리는 데 소요 된 시간을 표시 합니다.
작성자 쓰기값 누적 작성기 에이전트를 마지막으로 시작한 이후 소요 시간을 나타냅니다. 시간 유휴 시간 및 판독기에 대 한 대기 시간을 제외합니다.

작성자 대기에 대 한이 값이 에이전트를 마지막으로 시작한 이후 판독기에 대 한 대기 시간을 나타냅니다. 값은 판독기 스레드가 작성기 데이터 버퍼를 적용할 수 있습니다 전에 데이터 버퍼 채우기를 마치도록 기다리는 데 소요 된 시간을 표시 합니다.
sincelaststats_elapsed_timeSincelaststats 노드 마지막 기록 된 통계 이벤트 기간 시작 되는 비슷한 통계가 표시 됩니다. 기본적으로 기간은 5 분입니다. 시간 유휴 시간을 제외합니다. 마지막으로 기록 된 통계 이벤트 이후 경과 된 시간을 값을 나타냅니다.
sincelaststats 작업값은 에이전트 통계 마지막 이벤트 이후의 소요 시간을 나타냅니다.
sincelaststats 명령어마지막 통계 이벤트 이후의 값 명령 수를 나타냅니다.
sincelaststats cmdspersec값은 마지막 통계 이벤트 이후에 초당 수행 되는 명령 수를 나타냅니다.
sincelaststats\reader 가져오기값은 판독기 통계 마지막 이벤트 이후의 소요 누적 시간을 나타냅니다. 시간 유휴 시간 및 기록기에 대 한 대기 시간을 제외합니다.
sincelaststats\reader 대기마지막 통계 이벤트 이후 누적 작성기에 대 한 대기 시간을 값을 나타냅니다. 값은 데이터 버퍼를 사용 하 여 판독기는 데이터 버퍼를 다시 채울 수 전에 완료 쓰기 스레드가 대기 하는 데 걸리는 시간을 보여 줍니다.
sincelaststats\writer값을 나타내는 누적 시간 소요 마지막 통계 이벤트 이후에 기록기. 시간 유휴 시간 및 판독기에 대 한 대기 시간을 제외합니다.
sincelaststats\writer 대기마지막 통계 이벤트 후 판독기에 대 한 대기 시간을 값을 나타냅니다. 값은 판독기 스레드 작성자에서 데이터 버퍼를 적용할 수 있습니다 전에 데이터 버퍼 채우기를 마치도록 기다리는 데 소요 된 시간을 표시 합니다.
MSlogreader_history 및 MSdistribution_history 실행 통계 쉽게 쿼리할 수 있는 테이블에 XML 데이터를 로드 하는 스크립트
성능 통계를 쉽게 쿼리할 수 있는 영구 테이블로 추출 4 스크립트 샘플 도움말이 있습니다. 저장된 프로시저 배포 에이전트 성능 통계 로그 판독기 에이전트 성능 통계는 약 이기도 (즉, perf_stats_tab 테이블에).

스크립트 예제를 구하려면 방문 하십시오.이 샘플나타나면 KB2892631.zipKB2892631.zip, uncompressfile을 차례로 클릭 하 고 다음과 같은 네 개의 스크립트 파일:
  • 원래 버전은 Perf_stats_script.sql file:perf_stats_script.sql의
  • 수정 된 Usp_move_stats_to_table.sql 파일: usp_move_stats_to_table.sql
  • 수정 된 Sp_endtoend_stats.sql 파일: sp_endtoend_stats.sql
  • 실시간으로 또는 배포 데이터베이스 백업에서 데이터를 읽는 다른 스크립트: Additional_Script.sql

메모

  • Perf_stats_tab 테이블에 로그 판독기 에이전트와 배포 에이전트에 대 한 성능 통계를 포함합니다. 위치 형식을 사용 하 여 통계를 개별적으로 쿼리할 수 있습니다 위치 형식이 나 절 '균등 분할 /' = = 'LogRead' 절.
  • Move_stats_to_tab 저장 프로시저 mslogreader_history 테이블 및 msdistribution_history 테이블에 커서를 엽니다 및 다음 perf_stats_tab 테이블에는 XML 성능 통계 데이터를 추출 하기 위해 각 행에 대해 move_stats_to_tab 저장 프로시저를 호출 합니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 2892631 - 마지막 검토: 05/04/2016 10:57:00 - 수정: 2.0

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2892631 KbMtko
피드백