2009-06-23 17 views
8

So che chiunque legga la domanda penserà "Firebug!" subito. Forse alcuni penseranno "YSlow!" e "Google Page Speed!"Come si eseguono i test delle prestazioni della pagina?

Mentre mi piace molto questi strumenti, io sono più interessato a come la rapidamente la pagina renderà in IE 6/7/8. Tutti gli strumenti di cui sopra richiedono Firefox. Va benissimo e si può sicuramente testare la velocità alla base di ottenere la pagina per il browser, ma per quanto riguarda il rendering effettivo della pagina?

non ho visto alcun davvero buone risposte su come test di ottimizzazione a livello di browser. Come si scrivono test delle prestazioni per HTML/JS su diversi browser?

risposta

5

Io non sono sicuro che è uno sforzo utile per ottimizzare per un solo fornitore:

  • quanto riguarda HTML, maggior parte dei browser sono scritti per ottimizzare le tecniche standard di layout (tabelle, table-less, etc.)
  • i motori di rendering sono molto diverse tra IE6 e IE8, in modo già che è come due diversi browser
  • maggior parte delle tecniche per ottimizzare sono di serie in tutti i browser (mettere javascript, in fondo, in modo da non pagina blocco carichi, sposta javascript per file esterno, utilizzare più nomi host per le immagini, ecc per sfruttare caricamento parallelo, non utilizzare le tabelle per il layout generale, assicurarsi che la cache le intestazioni sono corrette, ecc.)
  • una volta che hai un sito ottimizzato per Firefox, direi che c'è ancora poco da guadagnare per quanto riguarda il tweaking per IE; v'è probabilmente più si può fare a livello di applicazione a questo punto (ottimizzare le query, ecc), a meno che il vostro sito è contenuto in gran parte statica, nel qual caso è possibile indagare il caching, la compressione HTTP, ecc
  • se la vostra preoccupazione è in realtà per ottimizzare codice Javascript per IE, poi ci sono molti buoni cross-browser librerie JavaScript che si trovano in una corsa agli armamenti per i migliori tempi di esecuzione su piattaforme del browser, in modo nuovo, raccogliendo una soluzione cross-browser è la strada da percorrere
  • il panorama del browser è in costante evoluzione e i tuoi clienti saranno probabilmente trasferiti su un'altra piattaforma in qualche punto della strada; ottimizzazione per diversi browser ora si concluderà con il codice più compatibile che ha maggiori probabilità di effettuare bene quando un cambiamento della piattaforma è fatta ad un certo punto in futuro
  • Direi che la scrittura di codice cross-browser ottimizzato si tradurrà in una maggiore codice di base gestibile con un minor numero di hack magici di IE, la cui ragione d'esistenza sarà presto persa nella notte
+0

+1, per menzionare che le ottimizzazioni sono standard nei browser ... – cgp

+0

"non utilizzare le tabelle per il layout generale" - perché? – Midhat

+0

@Midhat - Le tabelle con layout calcolato richiedono che il loro intero contenuto sia distribuito e calcolato prima che qualsiasi porzione possa essere resa. Questo è più una questione di prestazioni percepite rispetto alle prestazioni effettive, ma a volte fa una grande differenza. –

1

Non pretendo di conoscere la risposta assoluta. Ma un metodo sarebbe:

  • usate software come wget per misurare il tempo in cui una pagina viene recuperata
  • utilizzare strumenti come Firebug per misurare la velocità generale
  • differenza ti dà tempo impiegato dal browser

Mentre questa potrebbe non essere una risposta completamente soddisfacente, osserverò che questo è il più semplice.

A proposito, quali sono gli aspetti delle prestazioni che è possibile evidenziare utilizzando un "test del livello browser" che non è possibile eseguire con un "test livello firebug"?

Cheers,

JRH

+0

Immagino che la parte che sento mi manchi è come Trident rende vs Gecko. – Travis

2

Mettere un blocco di script all'inizio del documento, alla sua estremità e fissati window.onload. Afferra il timestamp attuale tramite Number(new Date) in ciascuno di questi "punti di sequenza" e puoi avere una prima impressione di quanto tempo la pagina deve eseguire il rendering in modo agonistico dal browser.

4

È possibile utilizzare IE high performance tester.

+0

non si tratta più delle prestazioni del motore javascript rispetto alle prestazioni del motore di rendering HTML? – jrharshath

0

mi piace molto AOL's PageTest strumento, combina un sacco di utility si trovano in Firebug, YSlow, e PageTest e avvolge in una bella interfaccia web con alcune caratteristiche interessanti. Innanzitutto, può essere eseguito su IE7 o IE8 (non 6, scusate) dagli Stati Uniti o da località internazionali per darvi un'idea migliore delle prestazioni lì. Fornisce grafici a cascata come quelli nel pannello della rete Firebug che sono utili per determinare dove viene speso il tempo. Fornisce anche consigli su cosa risolvere che sono simili a quelli di YSlow. Infine, consente di eseguire più prove sullo stesso sito in modo da ottenere risultati più accurati riducendo al minimo i fattori esterni.

Per la maggior parte sono d'accordo con OrbMan in quanto è importante ottimizzare per tutti i browser. Dal momento che quelle ottimizzazioni sono cross-browser, otterrai il massimo in termini di prestazioni. Solo allora è tempo di iniziare a considerare i miglioramenti specifici del browser.

Ci sono un sacco di Google Tech Talks online che parlano di miglioramento delle prestazioni web. This blog post contiene un elenco dei colloqui più pertinenti a questo argomento.

0

WebWait funziona con qualsiasi browser.

È ancora un altro strumento da avere nel cinturino delle prestazioni web.

Problemi correlati