2010-10-31 22 views
9

Questo è per raccogliere dall'esperienza che la comunità ha fatto informazioni sull'aspetto dell'applicazione web Profiling.Come profili il tuo sito web/applicazione web?

Alcuni anni fa ho lavorato a un progetto molto grande in C++/Java con un ORB CORBA e stavamo usando Rational Purify/CodeCoverage allo strumento, rilevando perdite di memoria e scoprendo i colli di bottiglia sul codice del server. Da quel momento non avevo alcuna esperienza sull'uso di strumenti come quello sulla piattaforma .NET o lavorando su puro C# o con un'applicazione web

  • Utilizzi strumenti?
  • Si stima il traffico e si fanno i calcoli sulla larghezza di banda prevista necessaria?
  • Si profila in modo diverso il codice del server e il rendering della pagina Web?
  • Che strumento di copertura del codice stai usando?

So che questo è un argomento molto grande. Alcune informazioni che ho sono dal libro "Performance Analysis for Java WebSites", che è la piattaforma Java e strumenti di riferimento per quella piattaforma, ma è un approccio che è trasferibile e quindi le idee di base si applicano in generale.

+0

convertito in wiki, per @ richiesta di Lorenzo. –

risposta

5

Come soluzione di test del carico libero ho usato Pylot. Sono sicuro che ci sono soluzioni meglio pagate se hai un budget. Se è possibile stimare il traffico, questo è lo strumento il cui output valuta la scalabilità del proprio progetto. L'utilizzo della cache di output di asp.net può migliorare significativamente le prestazioni del tuo sito in fase di caricamento, quindi prova questo se la tua pagina visualizza meno di quanto richiesto.

per ottimizzare il client di utilizzo velocità di rendering lato:

  • YSlow Firefox plug-in
  • Page Speed ​​firefox plug-in per Google
  • Firebug firefox plug-in per verificare il numero di richieste HTTP sono non eccessivo e JS/CSS risorse vengono memorizzate nella cache ecc

Se lo sviluppo di un asp.net forme web App è possibile abilitare la pagina di tracciamento modificando la tua direttiva di pagina in modo che contenga

<%@ Page Trace="true"> 

Questo vi aiuterà a trovare controlli che richiedono più tempo per il rendering.

Se si verificano problemi con il codice lato server in modo lento, ho riscontrato che è quasi sempre il database a causare il problema. È necessario verificare SQL che sia lento a restituire un risultato; se trovi qualcosa che devi guardare applicando nuovi indici ai tuoi tavoli. Se la tua app è troppo chiacchierona con il database, devi cercare di ridurre il numero di chiamate al database. Per trovare questi problemi è possibile utilizzare SQL Server Profiler; questo viene fornito in bundle con SQL Server 2005/2008 Developer Edition.

Se si dispone del budget, si consiglia di controllare Red Performance ANTS Performance Profiler per il profilo del codice lato server.

+0

grazie per la tua risposta. Darò un'occhiata a questi strumenti! – Lorenzo

+1

+1 per ANTS, è uno strumento eccellente. –

1

Uso dotTrace per il profilo durante l'utilizzo di jMeter per simulare il traffico. Ho trovato dotTrace per essere molto meglio integrato di ANTS, e in genere i rapporti più utili.

0

Profiling a multi-tiered, distributed, web application (server side) mostra un approccio di alto livello (profiling a livello di URL) che è:

  • piattaforma e del linguaggio indipendente
  • completamente non invasivo
  • dà un quadro di alto livello in cui l'applicazione è passando la maggior parte del suo tempo

L'idea è quella di utilizzare esistenti web log e li converte in a "one-picture vale 1000 parole" tipo di grafico.

Questo approccio potrebbe non essere sufficiente per casi d'uso che richiedono dettagli di livello più elevato, ma mi ha aiutato personalmente e potrebbe valere la pena di essere esplorato.

Problemi correlati