.NET-alkalmazások/Kérelem kérési idő (ms) gyűjtése

Microsoft.SystemCenter.Apm.ApplicationInstance.AvgRequestTimeMonitor (UnitMonitor)

.NET-alkalmazások/Kérelem kérési idő (ms) gyűjtése teljesítményszámláló

Knowledge Base article:

Összefoglalás

A példány akkor kerül sérült állapotba, ha a megadott időszak átlagos kérési ideje túllépi a figyelő küszöbértékét.

Okok

Az alkalmazások teljesítményével kapcsolatos riasztások akkor jönnek létre, ha a teljesítményesemények száma túllépi a beállított figyelő küszöbértékét.

Ha túl soká tartanak az adatbázishívások, akkor talán a kiszolgálóval vagy a lekérdezés felépítésével vagy összetettségével lehet probléma. Hosszú fájl I/O-műveleti idők esetén valamilyen probléma lehet a fájlkiszolgálóval. A webszolgáltatások teljesítményproblémáit okozhatja az, hogy a webszolgáltatás vagy az azt futtató kiszolgáló nem működik, vagy valamilyen probléma van a webszolgáltatás kódjával. Az alkalmazás belső végrehajtásának lassúságát a bonyolult vagy nem elég hatékony kód okozhatja.

Megoldások

Az alkalmazások teljesítménycsökkenése rendszerint a túl hosszúra nyúlt adatbázis- vagy webszolgáltatás-hívások, a lassú távoli .NET-hívások vagy a COM+ hívások, illetve a nem elég hatékony alkalmazáskód miatt lép fel.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApplicationInstance
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Instance Name.NET Apps
Counter NameAvg. Request Time
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableFalse
AccessibilityPublic
Alert Message
.NET-alkalmazások/Kérelem átlagos ideje túllépte a küszöbértéket.
A .NET-alkalmazások/Kérelem átlagos ideje teljesítményszámláló túllépte a(z) {0} ms-os beállított küszöbértéket. A teljesítményszámláló értéke {1} ms volt.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.ApplicationInstance.AvgRequestTimeMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.Apm.ApplicationInstance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="false" Priority="Normal" TypeID="Performance!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.ApplicationInstance.AvgRequestTimeMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorThreshold$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<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>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorInterval$</Frequency>
<Threshold>$Target/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/AvgRequestTimeMonitorThreshold$</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>