2010-05-12 20 views
7

Vorrei sapere se esiste un modo semplice per misurare il tempo impiegato da quando si preme Invio, al momento in cui una pagina Web è completamente visualizzata/caricata. Avrei bisogno di usare un timer per questo, o ci sono funzionalità esistenti incorporate nel controllo del browser Web (o .net framework) che ho perso?Misurazione del tempo di caricamento di una pagina Web (C#)

Grazie

risposta

4

Se si ha il controllo della pagina ASP.NET, è possibile attivare Trace. Lì si otterrà una serie di informazioni sul ciclo di vita della pagina (compresi i timestamp) e altre utili informazioni di profilazione.

Accendere traccia per una pagina nella direttiva Page nella parte superiore del file aspx:

<%@ Page Trace="true" %> 

o dinamicamente in codice:

Trace.IsEnabled = true; 

o globalmente in app impostare questa in web .config:

<configuration> 
<system.web> 
    <trace enabled="true" requestLimit="40" localOnly="false"/> 
</system.web> 
</configuration> 

vedere anche la MSDN documentation per Trace.

+0

Grazie per il vostro aiuto, meraviglia. Cool link :) –

+3

Ma questo mostra solo il tempo che manca a asp.net con la richiesta. Ti manca il tempo necessario per inviare questo al browser e averlo reso lì. –

+0

... non hai nemmeno un riscontro sulla complessità del DOM.Una richiesta potrebbe essere completata abbastanza velocemente sul server ma il browser non è in grado di gestire tutti quegli elementi DOM. Il browser potrebbe persino bloccarsi se ti sforzi abbastanza e ho visto questa prima mano. Esistono anche API di profilazione reali che è possibile utilizzare. Credo che IE9 abbia introdotto un'API di profiling a cui è possibile accedere da JavaScript. http://msdn.microsoft.com/en-us/library/ff974378(v=vs.85).aspx#_webperf –

0

Una semplice ricerca su Google rivela tutti :)

Timing a Page Load C#

essentialy si sta solo registrando il tempo di inizio Page Load e alla fine e utilizzando alcuni semplici calcoli per lavorare la differenza, c'è il tuo tempo di caricamento

+1

L'OP non è in asp.net land. Vuole tempo quanto tempo ci vuole per un controllo webbrowser per caricare alcune pagine. –

+0

incompreso, giusto. – Yoda

5

Firebug (estensione per Firefox) ha un pannello di temporizzazione, sotto la scheda "Rete".

+3

Perché il downvote per qualcosa che mostra il tempo fino a quando la pagina è completamente visualizzata? –

3

Fiddler può ispezionare tutte le richieste Web e mostrarti i tempi rilevanti.

+2

Qualche motivo per il drive-by -1? – cjk

1

Dynatrace è uno strumento abbastanza potente per la diagnostica dei problemi di prestazioni sul lato client.

In combinazione con Fiddler, fornisce il periodo di tempo completo dalla richiesta iniziale HTTP fino al completamento del rendering nello webbrowser. Dispone anche di alcuni autodiagnostici, in cui informa l'utente di qualsiasi hotstops/bottlenecks trovato nel codice HTML/Javascript.

Fino a quando trovo qualcosa di meglio, questa applicazione fa parte del mio set di strumenti standard ogni volta che devo indagare sui problemi di prestazioni.

0

È possibile utilizzare uno strumento RUM per misurare il tempo di caricamento. Questo metodo è accurato poiché utilizza l'API di navigazione sul browser e i tempi sono misurati dal punto di vista degli utenti. Ecco un semplice strumento rum http://gear5.me e uno più complesso: http://newrelic.com

Problemi correlati