Monitora i thread ATQ totali in uso.
Monitoraggio media thread per la coda di thread asincroni (ATQ). Il numero di thread ATQ in uso è elevato e ciò potrebbe influire sulla velocità effettiva delle richieste client.
Esiste un numero fisso di thread disponibili per l'elaborazione delle richieste. La configurazione consigliata e predefinita è 4 per ogni core del processore. Se tutti i thread sono in uso, le richieste aggiuntive verranno inserite nella coda dove rimarranno finché non si libera un thread.
Alcune delle cause possibili sono:
È necessario ridimensionare il controller di dominio.
Uno o più controller di dominio hanno generato errori e il loro carico è stato trasferito a questo controller di dominio poiché era il più vicino tra quelli disponibili.
Un'applicazione sta sottoponendo il controller di dominio a un carico eccessivo. Questo problema in genere è dovuto a operazioni inefficienti che utilizzano eccessivamente la CPU, come le query non indicizzate.
La memoria del controller di dominio è insufficiente.
Il controller di dominio è sottoposto a un attacco Denial of Service.
Visualizzare le prestazioni di sistema generali del computer per determinare se sono necessarie risorse aggiuntive.
Aggiungere altri controller di dominio per un corretto bilanciamento del carico.
Assicurarsi che vi sia un numero sufficiente di controller di dominio che ospitano il DNS.
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>