.NET-Anwendungen/Durchschn. Anforderungszeit (s) erfassen

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

Der Indikator ".NET-Anwendungen/Durchschn. Anforderungszeit (s)" gibt an, wie viel Zeit eine Anwendung durchschnittlich braucht, um auf Anforderungen zu reagieren.

Knowledge Base article:

Zusammenfassung

Mit dieser Regel wird der Leistungsindikator ".NET-Anwendungen/Durchschn. Anforderungszeit" für Anwendungen erfasst.

Von diesem Leistungsindikator wird die Durchschnittszeit (in Sekunden) aufgezeichnet, die eine Anwendung zur Verarbeitung einer Anforderung benötigt. Die Zeitmessung der einzelnen Anforderungen beginnt, wenn eine Anforderung die Anwendung erreicht, und endet, wenn die Anforderung erfolgreich abgeschlossen wird oder wenn an einer beliebigen Stelle im Code ein Fehler auftritt. Für die Gesamtzahl der überwachten Anforderungen wird der Durchschnittswert der Summe dieser Zeitmessungen erzeugt. Wenn dieser Wert dauerhaft 10000 ms überschreitet, ist dies ein Hinweis auf einen Engpass, der untersucht werden sollte.

Dieser Indikator ist nur verfügbar, wenn die Überwachung der Anwendungsleistung aktiviert ist.

Übermäßig lange Datenbankaufrufe können entweder an einem Problem mit dem Server oder an der Struktur und Komplexität der Anfrage liegen. Lange Datei-E/A-Zeiten können durch Dateiserverprobleme verursacht werden. Leistungsprobleme mit Webdiensten treten möglicherweise auf, weil der Webdienst oder der Server, auf dem er sich befindet, nicht zur Verfügung steht oder ein Problem im Webdienstcode vorliegt. Lange interne Ausführungszeiten bei Anwendungen können an einem komplexen oder ineffizienten Code liegen.

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>