Собирать данные счетчика производительности "Статистика .NET/\% нарушений производительности/с"
Экземпляр переходит в неработоспособное состояние, если частота возникновения событий производительности за заданный промежуток времени превышает пороговое значение монитора.
Предупреждения о производительности транзакции создаются, когда частота возникновения событий производительности превышает пороговое значение монитора.
Слишком длинные вызовы базы данных могут быть обусловлены неполадкой сервера базы данных или структурой и сложностью запроса к базе данных. Медленные операции ввода-вывода могут быть обусловлены неполадкой файлового сервера. Неполадки производительности веб-служб могут быть вызваны неисправностями сервера, на котором выполняются веб-службы, или неполадками в коде веб-служб. Медленное внутреннее выполнение приложений может быть вызвано излишне сложным или нерациональным кодом.
Снижение производительности приложений обычно может быть вызвано длительными вызовами базы данных, длительными вызовами веб-служб, медленными удаленными вызовами .NET, медленными вызовами COM+ или нерациональным кодом приложений.
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>