2008-10-27 6 views
33

J'essaie de quantifier la «lenteur du site». Dans les temps anciens, vous vous êtes assuré que votre HTML était léger, les images optimisées et les serveurs non surchargés. Dans les sites haut de gamme construits sur les systèmes modernes de gestion de contenu, il y a beaucoup plus de variables: publicité tierce, trackers et autres appels, performance de CDN (il est intéressant de noter que parfois les réseaux de distribution de contenu empirent), exécution javascript, surcharge css , ainsi que toutes sortes de problèmes côté serveur comme de longues requêtes.Comment mesurez-vous la vitesse de chargement de la page?

La réponse évidente est pour chaque développeur de vider le cache et de regarder en permanence la section "net" du plugin Firebug. Quelles autres façons de mesurer "cul de dragage du site" avez-vous utilisé?

+0

cet outil peut utile: http://365andup.com/ –

Répondre

28

Yslow est un outil (extension de navigateur) qui devrait vous aider.

YSlow analyse les pages Web et explique pourquoi elles sont lentes sur la base des règles de Yahoo! Pour les sites Web haute performance.

+1

ne fonctionne que pour Firefox – kohlerm

+1

@ kohlerm Beaucoup de temps est passé depuis votre commentaire. Maintenant, le Yslow n'est pas seulement supporté par Firefox: par exemple, je l'utilise sur Chrome! – JeanValjean

1

Si c'est asp.net, vous pouvez utiliser Trace.axd.

Yahoo fournissent YSlow qui peut être grande pour le contrôle javascript

2

Eh bien, appelez-moi vieux jeu, mais ..

temps boucle -L http://www.example.com/path

dans linux :) A part ça, je m un grand fan de YSlow comme mentionné précédemment.

+1

Cela ajoute le temps de recherche DNS à votre mesure. – Hugo

+3

mais ne prend pas en compte le temps de rendu, ni ne simule de requêtes parallèles – kohlerm

7

"Temps de chargement de la page" n'est vraiment pas facile à définir en général. Cela dépend du navigateur que vous utilisez, car différents navigateurs peuvent faire plus de requêtes en parallèle, car le javascript a des vitesses différentes dans différents navigateurs et parce que le temps de rendu est différent. La fin du chargement de la page peut également être difficile à définir car il peut y avoir une requête Ajax après que tout soit visible sur la page. . Est-ce que cela compte le chargement de la page ou non? Et last but not least, le temps de chargement réel de la page peut ne pas importer autant parce que la "performance perçue" est ce qui compte. Pour l'utilisateur ce qui importe est quand elle a suffisamment d'informations pour procéder

Markus

Je ne suis pas au courant d'aucune façon (au moins pas que je pourrais vous dire:]) qui mesure automatiquement vos pages temps de chargement perçu .

Utilisez pour IE et YSlow pour firefox (lien voir ci-dessus) pour avoir une "impression" de votre temps de chargement.

4

Procurez-vous un proxy de débogage approprié a été installé (je recommande vivement Charles)

Non seulement vous pouvez voir une ventilation complète des fois/tailles de réponse, vous pouvez enregistrer les données pour une analyse ultérieure/comparaison, (edit: le support de Charles pour le débogage des requêtes SOAP vaut la peine de payer ses frais de shareware - cela m'a sauvé une bonne demi-journée de perte de cheveux cette semaine seulement!)

0

Apache Benchmark. Utilisez

ab -c <number of CPUs on server> -n 1000 url

pour obtenir une bonne approximation de la rapidité de votre page est.

+0

Cela n'a rien à voir avec ce que l'OP voulait! –

10

Firebug, le must pour les développeurs Web Firefox extension, peut mesurer le temps de chargement de différents éléments sur votre page Web. Au moins, vous pouvez exclure CSS, JavaScript et autres éléments prenant trop de temps à charger.

Si vous avez besoin de réduire les temps de chargement JavaScript et CSS, il existe différents compresseurs JavaScript et CSS sur le Web qui en suppriment simplement le texte inutile, comme les caractères de nouvelle ligne et les commentaires. Bien sûr, gardez une version ordinaire sur le côté pour le développement.

Si vous utilisez des fichiers PNG, je suis récemment tombé sur un optimiseur PNG qui peut réduire les tailles PNG appelé OptiPNG.

+2

Le panneau 'Net' de Firebug est excellent pour cela. – Liam

1

YFais comme mentionné ci-dessus.

Et combinez cela avec Fiddler. C'est bon si vous voulez voir quels objets de la page prennent le plus de bande passante, qui sont compressés sur le serveur, les allers-retours inattendus, et ce qui est en cache. Et il peut vous donner une idée générale sur le temps de traitement dans le navigateur Web client par rapport au temps passé entre les serveurs & client

0

Yslow est bon, et HttpWatch pour IE est également très bien. Cependant, les deux manquent la métrique la plus importante à un utilisateur "Quand est la page - au-dessus du pli - prêt pour l'usage à l'utilisateur?". Je ne pense pas que l'on a encore été résolu ...

3

La dernière fois que je travaillais sur un site Web à haut volume, nous avons fait plusieurs choses, y compris:

Si vous voulez un rapide coup d'oeil, dire une première approximation, je partirais avec YSlow et de voir quels sont les principaux facteurs influant sur le temps de chargement de la page dans votre application sont.

0

Il y a évidemment plusieurs façons d'identifier le temps de réponse, mais le défi a toujours été de savoir comment mesurer le temps de rendu passé dans le navigateur.

Nous avons une phase de test contrôlée dans laquelle nous utilisons plusieurs outils automatisés pour tester l'application. Une des sorties que nous générons à partir de ce test est une trace de violoniste pour chaque transaction (un clic).Nous pouvons ensuite analyser la trace du violoniste pour comprendre l'heure du dernier octet et la soustraire du temps global pris par la page.

Quelque chose comme ça 1. A = Temps de réponse total mesuré par l'outil automatisé (dans notre cas, nous utilisons QTPro) 2. B = Temps de dernier octet (heure serveur + réseau, à partir de la trace de Fiddler) 3. C = AB (environ temps de rendu, OU le temps passé dans le navigateur)

Tout ce que j'ai expliqué ci-dessus peut être fait un processus de test standard et la fin du test, nous pourrions générer une rupture de temps passé à chaque couche temps de rendu, temps de réseau, appels de base de données etc ...

3

J'utilise couramment webpagetest.org, que vous pouvez utiliser pour effectuer des tests de performance à partir de différents endroits, sur différents navigateurs (bien que seulement msie 7-9), avec des paramètres différents (nombre des itérations, de la vitesse de connexion, du premier passage contre la 2ème visite, à l'exclusion des demandes spécifiques si vous le souhaitez, des informations d'identification si nécessaire, ...).

le résultat est a very detailed report of page loading time qui fournit également des conseils sur la façon d'optimiser.

c'est vraiment un super outil (gratuit)!

+0

ow, c'était une vieille question! bizarre (gênant) que les flux RSS de SO incluent de vieilles questions chaque fois que quelqu'un publie une réponse ... – futtta

Questions connexes