Il contatore delle prestazioni Applicazioni .NET/Tempo medio richiesta (sec) fornisce il tempo medio necessario all'applicazione per rispondere alle richieste
Questa regola raccoglie il contatore delle prestazioni Applicazioni .NET/Tempo medio richiesta per le applicazioni.
Il contatore registra il tempo medio (in secondi) necessario per l'elaborazione di una richiesta da parte di un'applicazione. Il conteggio del tempo per ogni richiesta inizia quando la richiesta raggiunge l'applicazione e si interrompe quando la richiesta viene eseguita correttamente o risulta non riuscita in una certa area del codice. Viene quindi calcolata la media della somma di questi tempi per il numero totale di richieste monitorate. Se questo tempo supera in modo costante i 10000 ms, è presente un collo di bottiglia che dovrà essere esaminato.
Questo contatore è disponibile solo quando è abilitato il monitoraggio delle prestazioni dell'applicazione.
Le chiamate al database eccessivamente lunghe potrebbero essere dovute a un problema del server o relativo alla struttura e alla complessità della query. I tempi eccessivamente lunghi delle attività di I/O dei file potrebbero essere causati da problemi del file server. I problemi di prestazioni dei servizi Web potrebbero verificarsi se il servizio Web o il server in cui questo risiede non è disponibile o se si è verificato un problema nel codice del servizio Web. I tempi eccessivamente lunghi per l'esecuzione interna delle applicazioni potrebbero essere causati da codice complesso o inefficiente.
Target | Microsoft.SystemCenter.Apm.ApplicationInstance |
Category | PerformanceCollection |
Enabled | True |
Instance Name | .NET Apps |
Counter Name | Avg. Request Time |
Frequency | 300 |
Alert Generate | False |
Remotable | False |
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 |
<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>