Zbieranie wartości licznika Statystyka .NET/średni czas żądania (ms)

Microsoft.SystemCenter.Apm.Transaction.CollectAvgDurationTime (Rule)

Zbiera dane licznika wydajności Statystyka .NET/średni czas żądania (ms)

Knowledge Base article:

Podsumowanie

Ta zasada zbiera dane z licznika wydajności Statystyka .NET/średni czas wykonania dla transakcji.

Ten licznik rejestruje średni czas (w milisekundach) przetwarzania żądania przez transakcję. Pomiar czasu przetwarzania każdego żądania jest rozpoczynany, gdy dotrze ono do aplikacji, a zatrzymywany, gdy żądanie zostanie pomyślnie wykonane lub wykonywanie kodu zostanie przerwane z powodu błędu. Na podstawie sumy czasów wszystkich monitorowanych żądań jest obliczany średni czas żądania. Jeśli systematycznie przekracza on 10000 ms, oznacza to istnienie wąskiego gardła, które należy zbadać.

Ten licznik jest dostępny tylko jeśli włączone jest monitorowanie wydajności aplikacji.

Zbyt długie wywołania bazy danych mogą być spowodowane problemami z serwerem lub strukturą i złożonością kwerendy. Długie czasy trwania operacji we/wy mogą wynikać z problemów z serwerem plików. Problemy z wydajnością usług sieci Web mogą wynikać z niedziałania usługi bądź serwera, na którym jest uruchamiana, lub problemów z kodem usługi. Zbyt długie czasy wykonania aplikacji mogą być wynikiem złożonego lub mało wydajnego kodu.

Element properties:

TargetMicrosoft.SystemCenter.Apm.Transaction
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Statistic
Counter NameAvg execution time
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Performance.DataProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.Transaction.CollectAvgDurationTime" Enabled="true" Target="Microsoft.SystemCenter.Apm.Transaction" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Performance!System.Performance.DataProvider">
<ComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Avg execution time</CounterName>
<ObjectName>.NET Statistic</ObjectName>
<InstanceName>$Target/Property[Type="Microsoft.SystemCenter.Apm.Transaction"]/CounterInstance$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>300</Frequency>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>