Recolha o contador de desempenho do .NET Estatística/\% de Violações de desempenho/seg
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.
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.
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.
Target | Microsoft.SystemCenter.Apm.Transaction | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | False | ||
Instance Name | .NET Statistic | ||
Counter Name | \% of Performance violations/sec | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | False | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>