Performans ihlalleri/sn'nin .NET İstatistiği/\%'sini topla

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

Performans ihlalleri/sn performans sayacının .NET İstatistiği/\%'sini topla

Knowledge Base article:

Özet

Tanımlanan zaman süresi başına performans olayları oranı izleyici eşiğini aşarsa, örnek durumu bozulur.

Nedenler

Performans olaylarının oranı yapılandırılan izleyici eşiğini aştığında, işlem performansı uyarıları üretilir.

Aşırı uzun veritabanı çağrılarının nedeni sunucuyla ilgili veya sorgunun yapısı ve karmaşıklığıyla ilgili bir sorun olabilir. Uzun dosya G/Ç sürelerinin nedeni dosya sunucusuyla ilgili sorunlar olabilir. Web Hizmetleri performans sorunlarının nedeni, Web Hizmeti'nin veya hizmetin bulunduğu sunucunun kullanım dışı kalması veya Web Hizmeti kodunda bir sorun olması olabilir. Uygulamalar için uzun iç yürütme sürelerinin nedeni karmaşık veya verimsiz kodlar olabilir.

Çözümlemeler

Genel uygulama performansında azalmaya, uzun bir veritabanı çağrısı, uzun bir web hizmeti çağrısı, yavaş bir .NET Uzaktan İletişim çağrısı, yavaş bir COM+ çağrısı veya verimli olmayan uygulama kodu neden olabilir.

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
Performans ihlalleri/sn'nin .NET İstatistiği/\%'si eşiği aştı
Performans ihlalleri/sn performans sayacının .NET İstatistiği/\%'si yapılandırılmış \%{0} eşiğini aşmış Performans sayacı değeri şuydu: {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>