.NET Uygulamaları/Ort. İstek Süresi (sn) sayacı, uygulamanın isteklere yanıt vermesi için geçen ortalama süreyi sağlar
Bu kural .NET Uygulamaları Ort. toplar Uygulamalar için İstek Süresi performans sayacı.
Sayaç, bir isteğin bir uygulama tarafından işlenmesi için geçen ortalama süreyi (saniye cinsinden) kaydeder. Her bir isteğin zamanlaması bir istek uygulamaya ulaştığında başlar ve istek başarılı bir şekilde tamamlandığında veya kodun bir yerlerinde başarısız olduğunda durdurulur. İzlenen isteklerin toplam sayısı üzerinden bu sürelerin toplamının ortalaması alınır. Bu süre tutarlı bir şekilde 10000 ms'yi aşarsa, bu araştırılması gereken bir darboğazı gösterir.
Bu sayaç yalnızca uygulama performansı izleme etkin olduğunda kullanılabilir.
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.
Target | Microsoft.SystemCenter.Apm.ApplicationInstance |
Category | PerformanceCollection |
Enabled | True |
Instance Name | .NET Apps |
Counter Name | Avg. Request Time |
Frequency | 300 |
Alert Generate | False |
Remotable | False |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | System.Performance.DataProvider | Default |
Mapper | ConditionDetection | System.Performance.DataGenericMapper | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectPerformanceData | Default |
WriteToDW | WriteAction | Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData | Default |
<Rule ID="Microsoft.SystemCenter.Apm.ApplicationInstance.CollectAvgDurationTimeSeconds" Enabled="true" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Avg. Request Time</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
<ScaleBy>1000</ScaleBy>
</DataSource>
</DataSources>
<ConditionDetection TypeID="Performance!System.Performance.DataGenericMapper" ID="Mapper">
<ObjectName>.NET Apps</ObjectName>
<CounterName>Avg. Request Time (seconds)</CounterName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstance"]/CounterInstance$</InstanceName>
<Value>$Data/Value$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>