Collecter .NET Apps/durée moyenne de la demande (s)

Microsoft.SystemCenter.Apm.ApplicationInstance.CollectAvgDurationTimeSeconds (Rule)

Le compteur de performances de .NET Apps/durée moyenne de la demande (s) fournit la durée moyenne nécessaire à l'application pour répondre aux demandes

Knowledge Base article:

Résumé

Cette règle collecte le compteur de performances .NET Apps/durée moyenne de la demande des applications.

Le compteur enregistre le temps moyen (en secondes) de traitement d'une demande par une application. 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.ApplicationInstance
CategoryPerformanceCollection
EnabledTrue
Instance Name.NET Apps
Counter NameAvg. Request Time
Frequency300
Alert GenerateFalse
RemotableFalse

Member Modules:

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

Source Code:

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