.NET-statistiek/Percentage schendingen van prestaties per seconde verzamelen

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

Hiermee wordt het prestatiemeteritem .NET-statistiek/Percentage schendingen van prestaties per seconde verzameld

Knowledge Base article:

Samenvatting

De status van het exemplaar wordt Slecht wanneer het percentage prestatiegebeurtenissen gedurende een gedefinieerde periode de drempelwaarde voor de monitor overschrijdt.

Oorzaken

Waarschuwingen over transactieprestaties worden gegenereerd wanneer het percentage prestatiegebeurtenissen de drempelwaarde voor de monitor overschrijdt.

Uitzonderlijk lange databaseaanroepen kunnen worden veroorzaakt door een probleem met de databaseserver of met de structuur en complexiteit van de databasequery. Een lange I/O-duur van bestanden kan worden veroorzaakt door problemen met de bestandsserver. Er kunnen problemen optreden met de prestaties van webservices als de webservice of de server waarop deze wordt uitgevoerd, niet bereikbaar is of als de code van de webservice fouten bevat. Lange interne uitvoeringstijden voor toepassingen zijn mogelijk het gevolg van complexe of inefficiënte code.

Oplossingen

Een verslechtering van toepassingsprestaties wordt vaak veroorzaakt door een lange databaseaanroep, een lange webserviceaanroep, een trage .NET Remoting-aanroep, een trage COM+-aanroep of inefficiënte toepassingscode.

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
Drempelwaarde voor .NET-statistiek/Percentage schendingen van prestaties per seconde is overschreden
De geconfigureerde drempelwaarde van {0}\% voor het prestatiemeteritem .NET-statistiek/Percentage schendingen van prestaties per seconde is overschreden. De waarde van het prestatiemeteritem is {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>