Monitorare le prestazioni di applicazioni WebMonitor performance in web applications

Questo prodotto consente di accertarsi che le prestazioni della propria applicazione siano ottimali e di scoprire rapidamente eventuali errori.Make sure your application is performing well, and find out quickly about any failures. Application Insights rileverà eventuali eccezioni e problemi relativi alle prestazioni e aiuterà a individuare e diagnosticare le cause principali.Application Insights will tell you about any performance issues and exceptions, and help you find and diagnose the root causes.

Application Insights può monitorare sia le applicazioni web Java e ASP.NET che i servizi, i servizi WCF.Application Insights can monitor both Java and ASP.NET web applications and services, WCF services. Possono essere ospitati in locale, su macchine virtuali o come siti Web di Microsoft Azure.They can be hosted on-premises, on virtual machines, or as Microsoft Azure websites.

Sul lato client Application Insights può acquisire dati di telemetria da pagine Web e da un'ampia gamma di dispositivi, tra cui le app per iOS e Android e di Windows Store.On the client side, Application Insights can take telemetry from web pages and a wide variety of devices including iOS, Android, and Windows Store apps.

Configurare il monitoraggio delle prestazioniSet up performance monitoring

Se Application Insights non è stato ancora aggiunto al progetto (vale a dire, se ApplicationInsights.config non è presente), scegliere uno dei modi seguenti per iniziare:If you haven't yet added Application Insights to your project (that is, if it doesn't have ApplicationInsights.config), choose one of these ways to get started:

Esplorare le metriche delle prestazioniExploring performance metrics

Nel portale di Azure, passare alla risorsa di Application Insights impostata per la propria applicazione.In the Azure portal, browse to the Application Insights resource that you set up for your application. Il pannello della panoramica mostra i dati delle prestazioni di base:The overview blade shows basic performance data:

Fare clic su un riquadro qualsiasi per visualizzare altri dettagli e per vedere i risultati relativi a un periodo più lungo.Click any chart to see more detail, and to see results for a longer period. Ad esempio, fare clic sul riquadro delle richieste e quindi selezionare un intervallo di tempo:For example, click the Requests tile and then select a time range:

Fare clic per visualizzare più dati e selezionare un intervallo di tempo

Fare clic su un grafico per scegliere quali metriche visualizzare oppure aggiungere un nuovo grafico e selezionarne le metriche:Click a chart to choose which metrics it displays, or add a new chart and select its metrics:

Fare clic su un grafico per scegliere le metriche

Nota

Deselezionare tutte le metriche per visualizzare la selezione completa disponibile.Uncheck all the metrics to see the full selection that is available. Le metriche sono suddivise in gruppi; quando si seleziona qualsiasi membro di un gruppo, vengono visualizzati solo gli altri membri di quel gruppo.The metrics fall into groups; when any member of a group is selected, only the other members of that group appear.

Interpretazione dei datiWhat does it all mean? riquadri e report sulle prestazioniPerformance tiles and reports

È possibile ottenere diverse metriche delle prestazioni.There are various performance metrics you can get. Vengono analizzate innanzitutto quelle visualizzate per impostazione predefinita nel pannello dell'applicazione.Let's start with those that appear by default on the application blade.

RichiesteRequests

Il numero di richieste HTTP ricevute in un periodo specificato.The number of HTTP requests received in a specified period. Confrontare questo numero con i risultati di altri report per analizzare il comportamento dell'app al variare del carico.Compare this with the results on other reports to see how your app behaves as the load varies.

Le richieste HTTP includono tutte le richieste GET o POST di pagine, dati e immagini.HTTP requests include all GET or POST requests for pages, data, and images.

Fare clic sul riquadro per visualizzare i conteggi per URL specifici.Click on the tile to get counts for specific URLs.

Tempo medio di rispostaAverage response time

Misura il tempo intercorso tra la ricezione di una richiesta Web da parte dell'applicazione e la risposta restituita.Measures the time between a web request entering your application and the response being returned.

I punti mostrano una media mobile.The points show a moving average. Se le richieste sono numerose, alcune di queste potrebbero deviare dalla media senza mostrare un picco o un calo evidente nel grafico.If there are many requests, there might be some that deviate from the average without an obvious peak or dip in the graph.

Cercare picchi inconsueti.Look for unusual peaks. In genere, il tempo di risposta aumenta con l'aumento delle richieste.In general, expect response time to rise with a rise in requests. Se l'aumento è sproporzionato, l'app potrebbe aver raggiunto un limite di risorsa, ad esempio dovuto alla CPU o alla capacità di un servizio che utilizza.If the rise is disproportionate, your app might be hitting a resource limit such as CPU or the capacity of a service it uses.

Fare clic sul riquadro per visualizzare i tempi per URL specifici.Click the tile to get times for specific URLs.

Richieste lenteSlowest requests

Mostra quali richieste potrebbero necessitare di un'ottimizzazione delle prestazioni.Shows which requests might need performance tuning.

Richieste non riusciteFailed requests

La quantità di richieste che hanno restituito eccezioni non rilevate.A count of requests that threw uncaught exceptions.

Fare clic sul riquadro per visualizzare i dettagli di errori specifici e selezionare una singola richiesta per visualizzarne i dettagli.Click the tile to see the details of specific failures, and select an individual request to see its detail.

Viene conservato solo un campione di errori rappresentativi per l'analisi individuale.Only a representative sample of failures is retained for individual inspection.

Altre metricheOther metrics

Per sapere quali altri metriche è possibile visualizzare, fare clic su un grafico e deselezionare tutte le metriche per vedere l'intero set disponibile.To see what other metrics you can display, click a graph, and then deselect all the metrics to see the full available set. Fare clic su (i) per visualizzare la definizione di ciascuna metrica.Click (i) to see each metric's definition.

Deselezionare tutte le metriche per visualizzare l'intero set

La selezione di una metrica disabilita le altre metriche che non possono essere visualizzate nello stesso grafico.Selecting any metric disables the others that can't appear on the same chart.

Impostazione di avvisiSet alerts

Per ricevere tramite posta elettronica una notifica relativa a valori insoliti di una metrica, aggiungere un avviso.To be notified by email of unusual values of any metric, add an alert. È possibile scegliere di inviare il messaggio di posta elettronica agli amministratori di account o a indirizzi di posta elettronica specifici.You can choose either to send the email to the account administrators, or to specific email addresses.

Impostare la risorsa prima delle altre proprietà.Set the resource before the other properties. Non scegliere le risorse webtest se si desidera impostare avvisi sulle metriche relative a prestazioni o utilizzo.Don't choose the webtest resources if you want to set alerts on performance or usage metrics.

Prendere nota delle unità in cui viene chiesto di immettere il valore soglia.Be careful to note the units in which you're asked to enter the threshold value.

Il pulsante Aggiungi avviso non è visibile.I don't see the Add Alert button. Si tratta di un account di gruppo al quale è possibile accedere in sola lettura?- Is this a group account to which you have read-only access? Rivolgersi all'amministratore dell'account.Check with the account administrator.

Diagnosi dei problemiDiagnosing issues

Di seguito vengono riportati alcuni suggerimenti su come trovare e diagnosticare i problemi di prestazioni:Here are a few tips for finding and diagnosing performance issues:

  • Configurare i test Web in modo da ricevere un avviso se il sito Web non risponde o risponde in maniera non corretta o lentamente.Set up web tests to be alerted if your web site goes down or responds incorrectly or slowly.
  • Confrontare il conteggio delle richieste con altre metriche per verificare se gli errori o la risposta lenta sono collegati al carico.Compare the Request count with other metrics to see if failures or slow response are related to load.
  • Inserire e cercare istruzioni di traccia nel codice per individuare i problemi.Insert and search trace statements in your code to help pinpoint problems.
  • Monitorare l'applicazione Web in esecuzione con Live Metrics Stream.Monitor your Web app in operation with Live Metrics Stream.
  • Acquisire lo stato dell'applicazione .Net con il debugger di snapshot.Capture the state of your .Net application with Snapshot Debugger.

Individuare e risolvere i colli di bottiglia delle prestazioni con l'esperienza di analisi delle prestazioniFind and fix performance bottlenecks with performance investigation experience

È possibile usare l'esperienza di analisi delle prestazioni per esaminare le operazioni con prestazioni insoddisfacenti nell'app Web.You can use the performance investigation experience to review slow performing operations in your Web app. È possibile selezionare rapidamente un'operazione lenta specifica e usare Profiler per individuare la causa principale della lentezza fino al codice.You can quickly select a specific slow operation and use Profiler to root cause the slow operations down to code. Usando la nuova distribuzione della durata visualizzata per l'operazione selezionata, è possibile valutare rapidamente e immediatamente il livello di inadeguatezza dell'esperienza per i clienti.Using the new duration distribution shown for the selected operation you can quickly at a glance assess just how bad the experience is for your customers. Per ogni operazione lenta è possibile visualizzare il numero di interazioni utente interessate.You can see how many of your user interactions were impacted for each slow operation. Nell'esempio seguente si vuole osservare più da vicino l'operazione GET su clienti e dettagli.In the following example, we've decided to take a closer look at the experience for GET Customers/Details operation. Nella distribuzione della durata è possibile osservare tre picchi.In the duration distribution, we can see that there are three spikes. Il picco più a sinistra è di circa 400 millisecondi e rappresenta un'esperienza con velocità di risposta ottimale.Leftmost spike is around 400 ms and represents great responsive experience. Il picco al centro è di circa 1,2 secondi e rappresenta un'esperienza mediocre.Middle spike is around 1.2 s and represents a mediocre experience. Infine, è presente un altro piccolo picco a 3,6 secondi, che rappresenta un'esperienza al 99° percentile e che può provocare l'abbandono dei clienti per insoddisfazione.Finally at the 3.6 s we have another small spike that represents the 99th percentile experience, which is likely to cause our customers to leave dissatisfied. Questa esperienza è dieci volte più lenta dell'esperienza ottimale per la stessa operazione.That experience is ten times slower than the great experience for the same operation.

Tre picchi di durata per l'operazione GET su clienti e dettagli

Per ottenere un'idea più accurata delle esperienze utente per questa operazione, è possibile selezionare un intervallo di tempo maggiore.To get a better sense of the user experiences for this operation, we can select a larger time range. È anche possibile ridurre il tempo in base a un intervallo specifico in cui l'operazione si è rivelata lenta.We can then also narrow down in time on a specific time window where the operation was slow. Nell'esempio seguente l'intervallo di tempo è stato modificato da quello predefinito di 24 ore a uno di 7 giorni, concentrandosi sull'intervallo tra le 9.47 e le 12.47 tra martedì 12 e mercoledì 13.In the following example, we've switched from the default 24 hours time range to the 7 days time range and then zoomed into the 9:47 to 12:47 time window between Tue the 12th and Wed the 13th. Si noti che a destra sono stati aggiornati sia la distribuzione della durata sia il numero di campioni e di tracce del profiler.Both the duration distribution and the number of sample and profiler traces have been updated on the right.

Tre picchi di durata dell'operazione GET su clienti e dettagli in un intervallo di 7 giorni

Per limitare l'ambito alle esperienze con prestazioni lente, si concentra la visualizzazione sulle durate comprese tra il 95° e il 99° percentile.To narrow in on the slow experiences, we next zoom into the durations that fall between 95th and the 99th percentile. Queste rappresentano il 4% delle interazioni utente lente.These represent the 4% of user interactions that were slow.

Tre picchi di durata dell'operazione GET su clienti e dettagli in un intervallo di 7 giorni

È ora possibile esaminare i campioni rappresentativi, facendo clic sul pulsante Samples (Campioni), o le tracce del profiler rappresentative, facendo clic sul pulsante Profiler traces (Tracce profiler).We can now either look at the representative samples, by clicking on the Samples button, or at the representative profiler traces, by clicking on the Profiler traces button. Questo esempio contiene quattro tracce che sono state raccolte per l'operazione GET su clienti e dettagli nell'intervallo di tempo e nella durata di interesse.In this example, there are four traces that have been collected for GET Customers/Details in the time window and range duration of interest.

A volte il problema non riguarda il codice, ma una dipendenza chiamata dal codice.Sometimes the issue will not be in your code, but rather in a dependency your code calls. È possibile passare alla scheda delle dipendenze nella visualizzazione di valutazione delle prestazioni per analizzare le dipendenze lente.You can switch to the Dependencies tab in the performance triage view to investigate such slow dependencies. Per impostazione predefinita la visualizzazione delle prestazioni è costituita dalla media delle tendenze, ma il dato più interessante è il 95° percentile (o il 99°, se si sta monitorando un servizio più vecchio).By default the performance view is trending averages, but what you really want to look at is the 95th percentile (or the 99th, in case you are monitoring a mature service). Nell'esempio seguente viene esaminata la dipendenza lenta relativa al BLOB di Azure, in cui viene eseguita un'operazione PUT su fabrikamaccount.In the following example we have focused on the slow Azure BLOB dependency, where we call PUT fabrikamaccount. Le esperienze positive si aggirano intorno ai 40 millisecondi, mentre le chiamate meno veloci alla stessa dipendenza sono tre volte più lente, raggruppandosi intorno ai 120 millisecondi.The good experiences cluster around 40 ms, while the slow calls to the same dependency are three times slower, clustering around 120 ms. Non sono necessarie molte di queste chiamate per provocare un notevole rallentamento della rispettiva operazione.It doesn't take many of these calls to add up to cause the respective operation to noticeably slow down. È possibile esaminare più dettagliatamente le tracce del profiler e i campioni rappresentativi, allo stesso modo che nella scheda delle operazioni.You can drill into the representative samples and profiler traces, just like you can with the Operations tab.

Tre picchi di durata dell'operazione GET su clienti e dettagli in un intervallo di 7 giorni

L'esperienza di analisi delle prestazioni mostra informazioni dettagliate rilevanti oltre al set di campioni su cui l'utente ha deciso di concentrarsi.The performance investigation experience shows relevant insights along side the sample set you decided to focus on. Il modo migliore per esaminare tutte le informazioni dettagliate disponibili consiste nel passare a un intervallo di tempo di 30 giorni e quindi selezionare Overall (Complessive) per visualizzare le informazioni dettagliate su tutte le operazioni per l'ultimo mese.The best way to look at all of the available insights is to switch to a 30 days time range and then select Overall to see insights across all operations for the past month.

Tre picchi di durata dell'operazione GET su clienti e dettagli in un intervallo di 7 giorni

Passaggi successiviNext steps

Test Web: possibilità di inviare richieste Web all'applicazione a intervalli regolari da tutto il mondo.Web tests - Have web requests sent to your application at regular intervals from around the world.

Acquisire e cercare tracce diagnostiche: possibilità di inserire chiamate di traccia ed esaminare i risultati per individuare i problemi.Capture and search diagnostic traces - Insert trace calls and sift through the results to pinpoint issues.

Monitorare l'utilizzo: possibilità di scoprire come le persone usano l'applicazione.Usage tracking - Find out how people use your application.

Domande e risposte e risoluzione dei problemiTroubleshooting - and Q & A