Collecter les statistiques .NET/durée moyenne de la demande (ms)

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

Compteur de performances Collecter les statistiques .NET/durée moyenne de la demande (ms)

Knowledge Base article:

Résumé

Cette règle collecte le compteur de performances de temps d'exécution moyen de statistiques .NET des transactions.

Le compteur enregistre le temps moyen (en millisecondes) de traitement d'une demande par une transaction. Le calcul de la durée de chaque demande commence lorsque la demande atteint l'application et s'arrête lorsque la demande se termine correctement ou échoue quelque part dans le code. La moyenne de ces durées est calculée sur le nombre total de requêtes analysées. Si cette durée dépasse 10 000 ms en permanence, cela indique un goulot d'étranglement qui doit être examiné.

Cette analyse est disponible uniquement lorsque l'analyse des performances des applications est activée.

Un problème de serveur ou de structure et complexité de la demande peut être à l'origine des appels excessivement longs de la base de données. Des problèmes de serveur de fichiers peuvent être à l'origine des temps d'E/S longs. Des problèmes de performances des services Web peuvent survenir en cas d'arrêt du service Web ou du serveur hébergeant le service ou en cas de problème dans le code du service Web. Des temps longs d'exécution interne des applications peuvent venir d'un code complexe ou inefficace.

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>