Überwacht die Gesamtzahl aller aktiven ATQ-Threads.
Monitor für durchschnittliche ATQ-Threads (Asynchronous Thread Queue, Warteschlange für asynchrone Threads) Es wird eine hohe Anzahl von ATQ-Threads verarbeitet, was sich auf den Durchsatz von Clientanforderungen auswirken könnte.
Für die Verarbeitung von Anforderungen ist eine feste Anzahl von Threads verfügbar. Die standardmäßige und empfohlene Konfiguration beträgt 4 pro Prozessorkern. Wenn alle Threads verwendet werden, werden zusätzliche Anforderungen in der Warteschlange platziert, bis ein Thread verfügbar ist.
Es gibt die folgenden möglichen Ursachen:
Die Größe des Domänencontrollers muss geändert werden.
Ein anderer oder mehrere andere Domänencontroller sind ausgefallen und ihre Arbeitslast wurde auf diesen Domänencontroller übertragen, weil er nun der am nächsten verfügbare Domänencontroller ist.
Eine Anwendung belastet einen Domänencontroller stark. Dies ist in der Regel auf ineffiziente, CPU-intensive Vorgänge zurückzuführen, beispielsweise nicht indizierte Abfragen.
Auf dem Domänencontroller ist extrem wenig Arbeitsspeicher vorhanden.
Auf dem Domänencontroller liegt ein Dienstverweigerungsangriff vor.
Zeigen Sie die Gesamtsystemleistung des Computers an, um zu bestimmen, ob er zusätzliche Ressourcen benötigt.
Fügen Sie zusätzliche Domänencontroller hinzu, die beim Lastenausgleich der Auslastung behilflich sind.
Stellen Sie sicher, dass eine ausreichende Anzahl von DNS hostenden Domänencontrollern vorhanden ist.
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>