.NET Apps/Percentage prestatiegebeurtenissen per seconde verzamelen

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

Prestatiemeteritem voor .NET-toepassingen/Prestatiegebeurtenissen per seconde in procenten

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 toepassingsprestaties 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.ApplicationInstance
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET Apps
Counter Name\% Performance Events/sec
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET-toepassingen/Prestatiegebeurtenissen per seconde in procenten heeft de drempelwaarde overschreden
Het prestatiemeteritem .NET-toepassingen/Prestatiegebeurtenissen per seconde in procenten heeft de ingestelde drempelwaarde van {0} \% overschreden. De waarde van het prestatiemeteritem is {1}\%.
RunAsDefault

Source Code:

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