셸에서 Troubleshoot-DatabaseLatency.ps1 스크립트를 사용하여 데이터베이스 대기 시간 관리

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2016-11-28

Troubleshoot-DatabaseLatency.ps1 스크립트는 Microsoft System Center Operations Manager 2007에서 데이터베이스의 대기 시간이 길어지는 것을 감지하고 수정하는 데 사용됩니다. 작업 스케줄러를 사용하여 이 스크립트를 실행하는 방법으로 예약된 작업을 만들 수 있습니다. 데이터베이스 대기 시간은 다음 문제점을 포함한 여러 가지 요인으로 인해 발생할 수 있습니다.

  • 불량 디스크로 인한 디스크 대기 시간   대기 시간이 장시간 지속되는 경우 불량 디스크로 인해 읽기 또는 쓰기 대기 시간이 매우 길어질 수 있습니다.

  • 도메인 컨트롤러 대기 시간   LDAP 검색 쿼리에 대한 응답으로 도메인 컨트롤러의 대기 시간이 길어질 수 있습니다.

  • 과중한 사용자 작업 부하   단일 사용자(또는 사용자 집합)의 집중적인 작업 수행으로 데이터베이스 대기 시간이 길어질 수 있습니다.

Troubleshoot-DatabaseLatency.ps1 스크립트는 다음 작업을 수행합니다.

  1. 데이터베이스 대기 시간이 LatencyThreshold 매개 변수에 지정한 대기 시간 임계값을 초과하는지 확인합니다. 기본값은 70밀리초(ms)입니다.

  2. 디스크의 초당 전송 속도가 DiskReadRateThreshold 성능 카운터보다 낮은지 그리고 디스크의 전송 속도당 시간(초)이 DiskReadLatencyThreshold 성능 카운터보다 높은지 확인합니다. 이 경우 스크립트는 디스크 부하가 낮은데도 대기 시간이 길기 때문에 디스크를 교체해야 한다는 결정을 내립니다.

  3. 단일 사용자가 TimeInServerThreshold 매개 변수로 지정된 값보다 길게 10분 이상의 시간 동안 하나 이상의 스레드를 사용하는지 확인합니다. 이것이 대기 시간 증가의 원인이 되는 경우 해당 사용자의 사서함은 격리됩니다. 이러한 사용자의 사서함은 6시간 동안 격리되어 이 시간 동안 전자 메일에 액세스할 수 없게 됩니다.

Troubleshoot-DatabaseLatency.ps1 스크립트에 사용되는 기본 설정은 StoreTSConstants.ps1 스크립트에 정의되어 있습니다.

참고

스크립트는 상주하는 폴더에서 실행해야 합니다. 기본적으로 Exchange 2010과 함께 설치되는 스크립트는 C:\Program Files\Microsoft\Exchange Server\V14\Scripts에 설치됩니다. 셸은 스크립트를 자동으로 로드하지 않습니다. 로컬 파일에서 스크립트를 실행하려면 모든 스크립트의 앞에 ".</STRONG>"를 추가해야 합니다. 예를 들어, SampleScript.ps1 스크립트를 실행하려면 .\SampleScript.ps1을 입력합니다. 스크립트를 실행하고 대상 설치 경로를 지정하려면 "C:\Program Files\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1"을 입력합니다. 자세한 내용은 Exchange 관리 셸을 사용하여 스크립팅을 참조하세요.

Troubleshoot-DatabaseLatency.ps1 스크립트 사용

이 절차를 수행하려면 먼저 사용 권한을 할당 받아야 합니다. 필요한 사용 권한을 확인하려면 다음을 참조하십시오. 사서함 사용 권한의 "사서함 데이터베이스" 항목

다음 매개 변수 구문 집합과 표에는 데이터베이스 대기 시간 문제를 감지 및 해결하는 데 사용할 수 있는 매개 변수가 나와 있습니다.

Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName <DatabaseID> [-LatencyThreshold <1-200>] [-TimeInServerThreshold <1-600000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
매개 변수 필수 설명

MailboxDatabaseName

필수

MailboxDatabase 매개 변수는 데이터베이스 대기 시간을 모니터링할 사서함 데이터베이스를 지정합니다.

이 매개 변수에는 다음 값을 사용할 수 있습니다.

  • GUID

  • DN(고유 이름)

  • 데이터베이스 이름

LatencyThreshold

옵션

LatencyThreshold 매개 변수는 데이터베이스가 대기 상태로 간주되기 전까지의 유휴 시간(ms)을 지정합니다.

기본값은 70밀리초입니다.

MonitoringContext

옵션

MonitoringContext 매개 변수는 명령의 결과를 응용 프로그램 이벤트 로그에 작성할지 여부를 지정합니다. 이 값을 지정하지 않으면 이벤트 뷰어의 다음 위치에 이벤트 로그가 기록됩니다.

이벤트 뷰어 > 응용 프로그램 및 서비스 로그 > Microsoft > Microsoft-Exchange-문제 해결사/작동

이 매개 변수를 사용하여 값을 지정할 필요가 없습니다.

Quarantine

옵션

Quarantine 매개 변수는 사용량이 많아 대기 시간을 길어지게 하는 사용자가 격리되도록 지정합니다. 이 매개 변수를 지정하지 않으면 그러한 사용자가 격리되지 않습니다.

이 매개 변수를 사용하여 값을 지정할 필요가 없습니다.

TimeInServerThreshold

옵션

TimeInServerThreshold 매개 변수는 Exchange 저장소가 스레드를 사용하는 사용자 작업이 단일 사서함에 대해 그 사서함이 데이터베이스 상태 유지에 위험하다고 간주되기 전까지 소모할 수 있는 시간(초)을 지정합니다. 시간(초)은 사서함을 대신하여 작업하는 모든 스레드가 Get-StoreUsageStatistics cmdlet에서 보고하는 시간 동안 Exchange 저장소 내부에서 소모하는 시간을 집계하여 측정됩니다. 분당 작업 시간(초)은 이 합계를 Get-StoreUsageStatistics cmdlet에서 보고하는 시간(기본값 10분)으로 나누어 계산됩니다.

예를 들어, 이 매개 변수를 80초로 설정했을 때 단일 사용자가 10분 동안 하나 이상의 스레드를 80초 이상 사용하는 경우에는 이벤트 오류가 반환됩니다. Quarantine 매개 변수를 지정하면 이벤트 오류가 반환되고 사용자의 사서함도 6시간 동안 격리됩니다.

기본값은 200초입니다.

이 예에서는 다음 설정으로 Troubleshoot-DatabaseLatency.ps1 스크립트를 실행하는 방법을 보여줍니다.

  • LatencyThreshold 매개 변수는 100밀리초로 설정됩니다. 데이터베이스가 100밀리초 이상 지연되면 오류가 반환됩니다.

  • TimeInServerThreshold 매개 변수는 80초로 설정됩니다. 단일 사용자가 10분 동안 하나 이상의 스레드를 80초 이상 사용하는 경우 해당 사용자는 격리됩니다.

.\Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName MBD01 -LatencyThreshold 100 -TimeInServerThreshold 80 -Quarantine

참고

이 예에서는 명령을 수동으로 한 번 실행하는 방법을 보여줍니다. 데이터베이스를 효과적으로 모니터링하기 위해 문제 해결사가 필요로 하는 데이터를 생성하려면 이 명령을 정기적으로 실행해야 합니다. Microsoft Windows 운영 체제에서 작업 스케줄러를 사용하여 이 작업을 설정하는 것이 좋습니다. 자세한 내용은 작업 스케줄러 개요를 참조하십시오.

데이터베이스 대기 시간 문제 해결사 출력 보기

Troubleshoot-DatabaseLatency.ps1 스크립트의 결과는 이벤트 뷰어의 이벤트 뷰어 > 응용 프로그램 및 서비스 로그 > Microsoft > Microsoft-Exchange-문제 해결사/작동에서 볼 수 있습니다.

예를 들어, 다음은 이벤트 ID 5111의 출력입니다. 스크립트가 오류 없이 실행된 경우 이 출력이 반환됩니다.

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 현재 대기 시간 1밀리초가 100밀리초 임계값 내에 속함을 감지했습니다.

다음 표에는 이벤트 ID, 이벤트 설명 및 수행할 작업(필요한 경우)이 표시되어 있습니다.

참고

이 표의 설명은 이러한 이벤트에 포함될 수 있는 정보의 예입니다.

이벤트 ID 설명 작업

5110

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01에서 시작되었습니다.

이것은 정보용으로만 제공됩니다. 필요한 작업이 없습니다.

5111

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 현재 대기 시간 30밀리초가 70밀리초 임계값 내에 있음을 감지했습니다.

이것은 정보용으로만 제공됩니다. 필요한 작업이 없습니다.

5411

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 사용자 f3bb8007-b6d1-45f5-b748-211d66fa43f6을 사서함의 비정상적인 작업으로 인해 격리시켰습니다. 문제가 계속되는 경우에는 수동으로 작업해야 합니다.

경고 이벤트: 모니터링을 계속하십시오.

5412

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 사용자 f3bb8007-b6d1-45f5-b748-211d66fa43f6에 대해 사서함의 비정상적인 작업 문제를 확인했습니다. Quarantine 매개 변수를 지정하지 않았기 때문에 이 사용자가 격리되지 않았습니다. 문제가 계속되는 경우에는 수동으로 작업해야 합니다.

경고 이벤트: 모니터링을 계속하십시오.

5710

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 디스크 대기 시간이 비정상임을 감지했습니다. 디스크를 교체해야 합니다.

오류 이벤트: 디스크를 교체해야 합니다. 교체 지침에 대해서는 하드웨어 제조업체에 문의하십시오.

5712

데이터베이스 대기 시간 문제 해결사가 데이터베이스 MBD01의 RPC 평균 대기 시간이 길어졌음을 감지했으나 원인을 확인하지 못했습니다. 수동으로 해결해야 합니다.

오류 이벤트: 대기 시간의 원인을 확인할 수 없습니다. 문제의 원인을 확인하려면 덤프 파일을 만들어 분석해야 합니다.

Windows Vista, Windows 7 또는 Windows Server 2008의 경우에는 사용자 모드 프로세스 덤프 파일을 만드는 방법(영문)을 참조하십시오.

Windows Server 2003 이전 버전의 경우에는 Userdump.exe 도구를 사용하여 덤프 파일을 만드는 방법을 참조하십시오.

 © 2010 Microsoft Corporation. 모든 권리 보유.