DNS プロセスの CPU 使用率を監視します。
DNS プロセッサ モニター。Active Directory ドメイン サービスの DNS プロセスが大量の CPU リソースを消費しています。
サーバーの全体的な CPU 使用率が高すぎる場合、DNS 要求が遅れる可能性があります。
次の原因が考えられます。
ドメイン コントローラーのサイズを変更する必要があります。
1 つ以上のドメイン コントローラーでエラーが発生し、これが使用可能な最も近いドメイン コントローラーであるため、それらの負荷がこのドメイン コントローラーに転送されました。
アプリケーションがドメイン コントローラーに大きな負荷をかけています。通常は、インデックスを使用しないクエリのような、CPU を集中的に使用する非効率的な操作が原因になっています。
ドメイン コントローラーのメモリが非常に少なくなっています。
ドメイン コントローラーがサービス拒否攻撃を受けています。
コンピューターのシステム全体のパフォーマンスを表示して、追加リソースが必要かどうかを確認します。
追加のドメイン コントローラーを追加して、負荷が分散されるようにします。
DNS をホストしている DC の数が十分かどうかを確認します。
Target | Microsoft.Windows.Server.2012.AD.DomainController.DNS | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | True | ||
Instance Name | Process | ||
Counter Name | \% Processor Time | ||
Frequency | 300 | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.AverageThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.DNS.Monitor" Accessibility="Public" Enabled="true" Target="AD2012Core!Microsoft.Windows.Server.2012.AD.DomainController.DNS" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.AverageThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.DNS.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data[Default='']/Context/InstanceName$</AlertParameter1>
<AlertParameter2>$Data[Default='']/Context/ObjectName$</AlertParameter2>
<AlertParameter3>$Data[Default='']/Context/CounterName$</AlertParameter3>
<AlertParameter4>$Data[Default='']/Context/Value$</AlertParameter4>
<AlertParameter5>$Data[Default='']/Context/TimeSampled$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="DNSLoadOk" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="DNSLoadError" MonitorTypeStateID="OverThreshold" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Processor Time</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>dns</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<Threshold>80</Threshold>
<NumSamples>10</NumSamples>
</Configuration>
</UnitMonitor>