Recolha .NET Estatística/\% de Violações de desempenho/seg

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

Recolha o contador de desempenho do .NET Estatística/\% de Violações 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 transações quando a taxa de eventos de desempenho ultrapassa o limiar de monitorização configurado.

Chamadas de base de dados excessivamente longas podem ser causadas por 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.Transaction
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET Statistic
Counter Name\% of Performance violations/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
O .NET Estatística/\% de Violações de desempenho/seg excedeu o limiar
O contador de desempenho do .NET Estatística/\% de Violações 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.Transaction.PerformanceRateMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.Transaction" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.Transaction.PerformanceRateMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/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/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% of Performance violations/sec</CounterName>
<ObjectName>.NET Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.Transaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/PerformanceRateMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/PerformanceRateMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>