收集 .NET CSM Apps/\%效能違規數/秒

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

收集 .NET CSM Apps/\%效能違規數/秒效能計數器

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/\%效能違規數/秒超過閾值。
.NET CSM Apps/\%效能違規數/秒效能計數器超過設定閾值 {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>