Shromáždit statistiku .NET/\% porušení výkonu/s

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

Shromáždit čítač výkonu statistiky .NET/\% porušení výkonu/s

Knowledge Base article:

Souhrn

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í.

Příčiny

Výstrahy výkonu transakcí 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 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.

Řešení

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.

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
Statistika .NET/\% porušení výkonu/s překročila prahovou hodnotu.
Čítač výkonu statistiky .NET/\% porušení výkonu/s překročil nakonfigurovanou prahovou hodnotu {0} \%. Hodnota čítače výkonu byla {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>