Hiermee wordt het totale aantal gebruikte ATQ-threads gecontroleerd.
Monitor van gemiddelde ATQ-threads (Asynchronous Thread Queue) Het aantal gebruikte ATQ-threads is hoog, wat gevolgen kan hebben voor de doorvoer van clientaanvragen.
Er is een vast aantal beschikbare threads voor serviceaanvragen. De standaardconfiguratie en aanbevolen configuratie is vier per processorkern. Als alle threads in gebruik zijn, blijven verdere aanvragen in de wachtrij tot er een thread beschikbaar wordt.
Hier zijn enkele mogelijke oorzaken:
De grootte van de domeincontroller moet worden gewijzigd.
Een of meer andere domeincontrollers werken niet meer en hun belasting is overgebracht naar deze domeincontroller, omdat deze nu de dichtstbijzijnde beschikbare domeincontroller is.
Een toepassing zorgt voor een zware belasting van de domeincontroller. Dit wordt meestal veroorzaakt door inefficiënte, CPU-intensieve bewerkingen, zoals niet-geïndexeerde query's.
De domeincontroller heeft zeer weinig geheugen beschikbaar.
Er wordt een DoS-aanval (Denial of Service) uitgevoerd op de domeincontroller.
Bekijk de algehele systeemprestaties van de computer om na te gaan of deze meer bronnen nodig heeft.
Voeg extra domeincontrollers toe om de belasting beter en over meer controllers te kunnen verdelen.
Zorg ervoor dat er voldoende DC's zijn die DNS hosten.
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>