.NET CSM Statistic/Avg execution time (ms) 수집

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

.NET CSM Statistic/Avg execution time 성능 카운터(ms)를 수집합니다.

Knowledge Base article:

요약

정의된 기간당 브라우저의 평균 웹 페이지 로드 요청 시간이 모니터 임계값을 초과할 경우 인스턴스 상태가 비정상이 됩니다.

원인

클라이언트 쪽 성능 이벤트의 평균 기간이 구성된 모니터 임계값을 초과하는 경우 트랜잭션 성능 경고가 생성됩니다.

과도하게 긴 네트워크 요청 시간은 불균형한 네트워크 때문일 수 있습니다.

긴 서버 처리 시간은 복잡하거나 비효율적인 소스 코드 때문일 수 있습니다.

페이지 로드 시간 성능 문제는 대형 페이지 크기 또는 다수의 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>