.NET CSM Apps/\% of Performance violations/sec 수집

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

.NET CSM Apps/\% Performance violations/sec 성능 카운터를 수집합니다.

Knowledge Base article:

요약

정의된 기간당 클라이언트 성능 이벤트의 비율이 모니터 임계값을 초과할 경우 인스턴스 상태가 비정상이 됩니다.

원인

성능 이벤트율이 구성된 모니터 임계값을 초과하는 경우 응용 프로그램 클라이언트 쪽 성능 경고가 생성됩니다.

이 카운터는 모니터링되는 응용 프로그램의 웹 페이지 또는 AJAX 호출 횟수가 초당 허용 가능한 로드 시간을 초과했음을 보고합니다.

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

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

페이지 로드 시간 성능 문제는 대형 페이지 크기 또는 다수의 Java 스크립트 때문일 수 있습니다.

긴 Window.OnLoad 성능 문제는 긴 JavaScript 처리기 예외로 인해 발생할 수 있습니다.

해결 방법

일반적인 긴 페이지 로드 호출은 불균형한 네트워크, 긴 서버 처리 시간, 긴 페이지 로드 시간 또는 Window.OnLoad 시간 때문일 수 있습니다.

Element properties:

TargetMicrosoft.SystemCenter.Apm.CsmApplicationInstance
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET CSM Apps
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 Apps/\% of Performance violations/sec가 임계값 초과
.NET CSM Apps/\% of Performance violations/sec 성능 카운터가 구성된 {0}\%의 임계값을 초과했습니다. 성능 카운터 값이 {1}\%이었습니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.CsmApplicationInstance.PerformanceRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.CsmApplicationInstance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.CsmApplicationInstance.PerformanceRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/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/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Performance violations/sec</CounterName>
<ObjectName>.NET CSM Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.CsmApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/PerformanceRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/PerformanceRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>