.NET CSM Statistic/\% of Performance violations/sec の収集

Microsoft.SystemCenter.Apm.CsmTransaction.PerformanceRateMonitor (UnitMonitor)

.NET CSM Statistic/\% of Performance violations/sec パフォーマンス カウンターを収集します。

Knowledge Base article:

概要

定義された期間のクライアント側のパフォーマンス イベントの発生率がモニターのしきい値を超えると、インスタンスの状態が異常になります。

原因

トランザクションのクライアント側パフォーマンス アラートは、パフォーマンス イベントの発生率が、構成されたモニターのしきい値を超えた場合に生成されます。

このカウンターは、監視しているアプリケーションで、Web ページまたは Ajax の読み込み許容時間を超えた呼び出しが 1 秒あたりに何回発生したかを記録します。

ネットワークの要求に長時間かかる場合は、ネットワーク負荷が不均衡になっている可能性があります。

サーバーによる処理時間が長い場合は、ソース コードが複雑なことや効率がよくないことが考えられます。

ページの読み込み時間のパフォーマンスの問題は、ページのサイズが大きな場合や、Java スクリプトの数が多い場合に発生することがあります。

Window.OnLoad に時間がかかる場合は、長い JavaScript のハンドラーが実行された可能性があります。

解決策

ページ読み込みの呼び出しが遅い原因には、ネットワーク負荷が不均衡なことや、サーバーによる処理やページの読み込み、Window.OnLoad に時間がかかっていることが考えられます。

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmTransaction
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Statistic
Counter Name\% of Performance violations/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET CSM Statistic/\% of Performance violations/sec がしきい値を超えました
.NET CSM Statistic/\% of Performance violations/sec パフォーマンス カウンターが、構成されているしきい値 ({0}\%) を超えました。 パフォーマンス カウンターの値は {1}\% です。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.CsmTransaction.PerformanceRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmTransaction" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmTransaction.PerformanceRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/PerformanceRateMonitorThreshold$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Performance violations/sec</CounterName>
<ObjectName>.NET CSM Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmTransaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/PerformanceRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/PerformanceRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>