2009-06-23 6 views
8

Je sais que tout le monde qui lit la question pensera "Firebug!" tout de suite. Peut-être que certains penseront "YSlow!" et "Google Page Speed!"Comment faites-vous des tests de performance de page?

Bien que j'aime vraiment ces outils, je suis plus préoccupé par la rapidité de rendu de la page dans IE 6/7/8. Tous les outils ci-dessus nécessitent Firefox. Tout va bien et vous pouvez certainement tester la vitesse sous-jacente de l'obtention de la page pour le navigateur, mais qu'en est-il en ce qui concerne le rendu de la page?

Je n'ai pas vu de très bonnes réponses sur la façon de tester l'optimisation au niveau du navigateur. Comment écrivez-vous des tests de performance pour HTML/JS à travers les différents navigateurs?

Répondre

5

Je ne suis pas sûr qu'il est un effort utile pour optimiser un seul fournisseur:

  • concernant HTML, la plupart des navigateurs sont écrits pour optimiser les techniques de mise en page standard (tables, table-less, etc.)
  • les moteurs de rendu sont tout à fait différents entre IE6 et IE8, donc déjà qui ressemble à deux différents navigateurs
  • la plupart des techniques d'optimisation sont standard dans les navigateurs (mis javascript en bas pour ne pas page se charge du bloc, déplacez le javascript pour fichier externe, utilisez plusieurs noms d'hôtes pour les images, etc. pour tirer profit de chargement parallèle, ne pas utiliser des tables pour la mise en page générale, la mise en cache que faire les en-têtes sont corrects, etc.)
  • Une fois que vous avez un site optimisé pour Firefox, je dirais qu'il n'y a pas grand-chose à gagner en ce qui concerne l'optimisation IE; Il y a probablement plus de choses que vous pouvez faire au niveau de l'application (optimiser les requêtes, etc.), sauf si votre site est en grande partie statique, auquel cas vous pouvez étudier la mise en cache, la compression HTTP, etc. En fait, en optimisant le code Javascript pour IE, il y a beaucoup de bonnes bibliothèques Javascript cross-browser qui sont dans une course aux armements pour les meilleurs temps d'exécution sur les plates-formes de navigateur, encore une fois, choisir une solution cross-browser est le chemin à parcourir. le paysage des navigateurs évolue constamment et vos clients sont susceptibles de passer à une autre plate-forme à un moment donné; l'optimisation pour plusieurs navigateurs différents se terminera avec un code plus compatible qui sera plus performant quand un changement de plate-forme sera effectué à un moment donné
  • Je dirais que l'écriture d'un code optimisé pour plusieurs navigateurs se traduira par base de code maintenable avec moins de hacks IE magiques, dont la raison d'existence sera bientôt perdue dans la nuit des temps
+0

+1, pour avoir mentionné que les optimisations sont standard sur tous les navigateurs ... – cgp

+0

"ne pas utiliser de tables pour la mise en page générale" - pourquoi? – Midhat

+0

@Midhat - Les tableaux avec une disposition calculée requièrent que leur contenu entier soit mis en page et calculé avant qu'une partie puisse être rendue. C'est plus une question de performance perçue que de performance réelle, mais cela fait parfois une grande différence. –

1

Je ne prétends pas connaître la réponse absolue. Mais une méthode serait:

  • utiliser des outils comme wget pour mesurer le temps dans lequel une page est extraite
  • utiliser des outils comme Firebug pour mesurer la vitesse globale
  • différence vous donne le temps pris par le navigateur

Bien que cela ne soit pas une réponse complètement satisfaisante, je remarquerai que c'est la plus simple.À votre avis, quels sont, selon vous, les aspects de performance que vous pouvez mettre en évidence en utilisant un «test de niveau de navigateur» que vous ne pouvez pas faire avec un «test de niveau firebug»?

Cheers,

HJR

+0

Je suppose que la partie que j'ai l'impression de manquer est celle de Trident vs Gecko. – Travis

2

Mettez un bloc de script au début du document, à son extrémité et mis window.onload. Saisir l'horodatage actuel via Number(new Date) à chacun de ces 'points de séquence' et vous pouvez avoir une première impression de la durée de rendu de la page de manière agnostique.

4

Vous pouvez utiliser l'IE high performance tester.

+0

est-ce pas plus sur les performances du moteur javascript que sur les performances du moteur de rendu HTML? – jrharshath

0

Je aime vraiment AOL's PageTest outil, il combine beaucoup de l'utilitaire qui se trouve dans Firebug, YSlow et PageTest et l'enveloppe dans une belle interface web avec quelques fonctionnalités intéressantes. Tout d'abord, il peut être exécuté sur IE7 ou IE8 (n ° 6, désolé) à partir des sites américains ou internationaux pour vous donner une meilleure idée de la performance là-bas. Il fournit des graphiques en cascade comme ceux du panneau net Firebug qui sont utiles pour déterminer où le temps est passé. Il fournit également des recommandations sur les problèmes à résoudre qui sont similaires à ceux de YSlow. Enfin, il vous permet d'exécuter plusieurs essais sur le même site afin d'obtenir des résultats plus précis tout en minimisant les facteurs externes. En général, je suis d'accord avec OrbMan en ce sens qu'il est important d'optimiser pour tous les navigateurs. Puisque ces optimisations sont multi-navigateur, vous obtiendrez le meilleur rendement en termes de performance. C'est seulement alors qu'il est temps de commencer à envisager des améliorations spécifiques au navigateur.

Il y a beaucoup de Google Tech Talks en ligne qui parlent d'améliorer les performances Web. This blog post contient une liste des exposés les plus pertinents à ce sujet.

0

WebWait fonctionne dans n'importe quel navigateur.

Encore un autre outil à utiliser dans votre ceinture de performance Web.

Questions connexes