.NET CSM Statistic/Avg execution time (ミリ秒) の収集

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

.NET CSM Statistic/Avg execution time パフォーマンス カウンター (ミリ秒) を収集します。

Knowledge Base article:

概要

定義された期間のブラウザーの Web ページ読み込みの平均要求時間がモニターのしきい値を超えると、インスタンスの状態が異常になります。

原因

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

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

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

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

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

解決方法

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

Element properties:

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

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.CsmTransaction.AvgRequestTimeMonitor" 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.AvgRequestTimeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorThreshold$</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>Average page request execution time</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"]/AvgRequestTimeMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/AvgRequestTimeMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>