사용 중인 총 ATQ 스레드를 모니터링합니다.
ATQ(비동기 스레드 큐) 평균 스레드 모니터 클라이언트 요청의 처리량에 영향을 줄 수 있는 사용 중인 ATQ 스레드 수가 높습니다.
서비스 요청에 사용할 수 있는 스레드 수는 고정되어 있습니다. 기본 및 권장 구성은 프로세서 코어당 4개입니다. 모든 스레드가 사용 중인 경우 추가 요청은 스레드를 사용할 수 있을 때까지 큐에 배치됩니다.
가능한 원인은 다음과 같습니다.
도메인 컨트롤러의 크기를 조정해야 합니다.
하나 이상의 다른 도메인 컨트롤러가 실패하여 이들 도메인 컨트롤러의 로드가 사용 가능한 가장 가까운 도메인 컨트롤러인 이 도메인 컨트롤러로 전송되었습니다.
응용 프로그램으로 인해 도메인 컨트롤러의 부하가 높습니다. 이러한 현상은 보통 비인덱스 쿼리와 같은 비효율적인 CPU 집중형 작업으로 인해 나타납니다.
도메인 컨트롤러의 메모리가 매우 부족합니다.
도메인 컨트롤러가 서비스 거부 공격을 받고 있습니다.
컴퓨터의 전반적인 시스템 성능을 확인하여 추가 리소스 필요 여부를 결정합니다.
효율적으로 부하를 분산하려면 도메인 컨트롤러를 더 추가하세요.
DNS를 호스팅하는 DC의 수가 충분한지 확인하세요.
Target | Microsoft.Windows.Server.2012.AD.DomainControllerRole | ||
Parent Monitor | Microsoft.Windows.Server.2012.AD.AtqMonitors.Performance.AggregateMonitor | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.Server.2012.AD.Performance.Atq.AvgThreads.Monitor.Monitortype | ||
Remotable | False | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2012.AD.Performance.Atq.AvgThreads.Monitor" Accessibility="Public" Enabled="true" Target="AD2012Core!Microsoft.Windows.Server.2012.AD.DomainControllerRole" ParentMonitorID="Microsoft.Windows.Server.2012.AD.AtqMonitors.Performance.AggregateMonitor" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.Server.2012.AD.Performance.Atq.AvgThreads.Monitor.Monitortype" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2012.AD.Performance.Atq.AvgThreads.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ErrorString']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ThreadUsageOK" MonitorTypeStateID="ThreadUsageOK" HealthState="Success"/>
<OperationalState ID="ThreadUsageWarn" MonitorTypeStateID="ThreadUsageWarn" HealthState="Warning"/>
<OperationalState ID="ThreadUsageError" MonitorTypeStateID="ThreadUsageError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Frequency>300</Frequency>
<TimeoutSeconds>300</TimeoutSeconds>
<WarnThreshold>80</WarnThreshold>
<ErrorThreshold>90</ErrorThreshold>
<NumSamples>10</NumSamples>
<MaxPoolThreads>4</MaxPoolThreads>
</Configuration>
</UnitMonitor>