Samla in .NET CSM-prog/\% av prestandaöverträdelser/sek

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

Prestandaräknaren Samla in .NET CSM-prog/\% prestandaöverträdelser/sek

Knowledge Base article:

Sammanfattning

Instansen övergår till feltillstånd om antalet prestandahändelser på klientsidan per definierad tidsperiod överskrider övervakarens tröskel.

Orsaker

Programvarningar för prestandafel på klientsidan skapas när antalet prestandahändelser överskrider den konfigurerade tröskeln för övervakaren.

Räknaren rapporterar antalet gånger per sekund som en webbsida eller Ajax-anrop i det övervakade programmet överskrider acceptabel inläsningstid.

Alltför långa begärandetider i nätverket kan bero på att nätverket är överbelastat.

Lång serverbearbetningstid kan bero på komplex eller ineffektiv källkod.

Prestandaproblem med inläsningstiden för en sida kan bero på att sidan är stor eller att den innehåller ett stort antal Java-skript.

Prestandaproblem med Window.OnLoad kan bero på att det tar lång tid att köra JavaScript-hanterarna.

Lösningar

Vanliga orsaker till tidskrävande sidinläsningsanrop kan vara ett obalanserat nätverk, långa serverbearbetningstider, lång sidinläsningstid eller Window.OnLoad-tid.

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-prog/\% av prestandaöverträdelser/sek överskrider tröskeln.
Prestandaräknaren .NET CSM-prog/\% av prestandaöverträdelser/sek har överskridit konfigurerad tröskel på {0} \%. Prestandaräknarens värde var {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>