Shromažďovat čítač výkonu aplikace .NET/\% událostí výkonu/s
Stav instance se změní na Není v pořádku, pokud frekvence událostí výkonu za definované časové období překročí prahovou hodnotu monitorování.
Výstrahy výkonu aplikací se vygenerují, pokud frekvence událostí výkonu překročí nakonfigurovanou prahovou hodnotu monitorování.
Nadměrně dlouhá volání databáze mohou být způsobena buď problémem s databázovým serverem, nebo se strukturou a složitostí databázového dotazu. Dlouhé časy vstupu a výstupu mohou být způsobeny problémy se souborovým serverem. Problémy s výkonem webových služeb mohou být způsobeny tím, že webová služba nebo server, na němž je umístěna, jsou vypnuty nebo došlo k problému v kódu webové služby. Dlouhé časy interního provedení u aplikací mohou být způsobeny složitým nebo neefektivním kódem.
Typické snížení výkonu aplikace mohlo být způsobeno dlouhým voláním databáze, dlouhým voláním webové služby, pomalým vzdáleným voláním rozhraní .NET, pomalým voláním modelu COM+ nebo neúčinným kódem aplikace.
Target | Microsoft.SystemCenter.Apm.ApplicationInstance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | Custom | ||
Enabled | False | ||
Instance Name | .NET Apps | ||
Counter Name | \% Performance Events/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.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>