Recolher Aplicações .NET/\% de Eventos de Desempenho/seg

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

Recolher o contador de desempenho Aplicações .NET/\% de Eventos de Desempenho/seg

Knowledge Base article:

Resumo

O estado da instância fica danificado se a taxa de eventos de desempenho por período de tempo definido exceder o limiar de monitorização.

Causas

São gerados alertas de desempenho de aplicações quando a taxa de eventos de desempenho ultrapassa o limiar de monitorização configurado.

Chamadas de base de dados excessivamente longas podem dever-se a problemas com o servidor de base de dados ou com a estrutura e complexidade da consulta à base de dados. Tempos E/S de ficheiro longos podem dever-se a problemas com o servidor de ficheiros. Podem ocorrer problemas de desempenho com os Serviços Web, porque o Serviço Web, ou o servidor onde reside, está em baixo ou há um problema com o código do Serviço Web. Os tempos de execução interna longos para aplicações podem dever-se a um código complexo ou ineficaz.

Resoluções

A degradação típica no desempenho da aplicação pode ser causada por uma chamada de base de dados longa, uma chamada de serviço web longa, uma chamada Remota de .NET lenta, uma chamada COM+ lenta, ou um código de aplicação ineficiente.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET Apps
Counter Name\% Performance Events/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
Aplicações .NET/\% de Eventos de Desempenho/seg excedeu o limiar
O contador de desempenho Aplicações .NET/\% de Eventos de Desempenho/seg excedeu o limiar configurado de {0}\%. O valor do contador de desempenho foi {1}\%.
RunAsDefault

Source Code:

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