Question

Je viens de télécharger YSlow pour Firebug et avons examiné les résultats pour un site que je suis bâtiment.

Je vois des recommandations, par exemple, d'utiliser ETags, domaine sans cookies pour mes composants statiques et ajouter expires têtes.

Je pense, bien que je pouvais partir et corriger ceux-ci, mais il est plus probable un tas d'autres optimisations que je pourrais faire d'abord, les résultats de la mise en cache par exemple des appels de base de données ou quelque chose de similaire.

Je ne pense pas que ce site sera « beaucoup » utilisation pour justifier les recommandations de Picnik.

Je sais que vous ne devriez jamais optimiser avant que vous savez que vous devez, mais je pense des choses comme ETags et expire en-têtes sont sûrement en jeu uniquement sur les sites avec un trafic très lourd.

Si, par exemple, j'ai écrit une mauvaise mise en œuvre qui fait 5 (relativement faible) appelle à la base de données par demande, et YSlow me dit que mes 14 images ne sont pas sur un domaine sans cookies, puis de ceux qui deux optimisations devraient être traités d'abord?

Était-ce utile?

La solution

YSlow est bon de vérifier la « expérience utilisateur » que vous voyez les utilisateurs. Ses recommandations pour aider à faire la page apparaissent pour charger plus rapidement. Par exemple. 14 images à 1 image et spriting est purement une chose visuelle. La règle est que les navigateurs ne peuvent télécharger quelques images en parallèle à un moment donné.

Je toujours aborder d'abord les optimisations de back-end, car ils peuvent vous aider à rendre votre site évolutif, si elle obtient jamais ce grand.

Autres conseils

En aucun YSlow notre gourou .htaccess. Mais je récemment construit un site Joomla et utilisé YSlow pour trouver des domaines d'amélioration. Les deux zones de YSlow que vous a demandé ci-dessus - « Ajouter » et en-têtes Expires « tags Configurer l'entité (ETAG) » - je me suis adressé via un fichier .htaccess à la racine de mon domaine

.

Ajouter

Yahoo dit: « Les pages Web sont de plus en plus complexes avec plus de scripts, feuilles de style, des images et Flash sur les Une visite pour la première fois à une page peut nécessiter plusieurs requêtes HTTP pour charger tous les composants en utilisant les en-têtes Expires.. ces composants deviennent cacheable, ce qui évite les requêtes HTTP inutiles sur les pages vues suivantes. têtes Expires sont le plus souvent associés à des images, mais ils peuvent et doivent être utilisés sur tous les composants de page, y compris les scripts, feuilles de style, et flash. "

Pour y remédier, j'ai trouvé et ajouté le bloc de code suivant à mon fichier .htaccess (note: changement OPENANGLEBRACKET à "<" et CLOSEDANGLEBRACKET à ">"):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

Configurer les balises entité (ETAG)

Yahoo dit: « balises entité (ETAG) sont un des serveurs Web du mécanisme et l'utilisation du navigateur pour déterminer si un composant dans le cache du navigateur correspond à un sur le serveur d'origine Depuis ETags sont généralement construites en utilisant des attributs qui les rendent uniques à un. serveur spécifique hébergement d'un site, les balises ne correspondra pas à quand un navigateur obtient le composant d'origine d'un serveur et tente ensuite de valider ce composant sur un autre serveur. "

J'ai décidé de supprimer tous les Etags, ce qui m'a donné un grade, en ajoutant à mon fichier .htaccess:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

Ces deux modifications à mon fichier .htaccess m'a donné une Grades pour ces deux catégories Picnik.

Correction selon un profil dit est à l'origine le plus ralentissement des vues.

Rappelez-vous que tout ce que vous correctif YSlow se plaint sera très probablement une aide plus tard, sans que vous ayez à le faire à nouveau, alors que l'optimisation de la base de données sera une tâche en cours.

-à-dire, si vous partagez vos images sur plusieurs domaines et de les rendre cookieless, alors que vous ajoutez plus d'images qu'ils devraient être divisés sur ces domaines (espérons-le automatiquement ) et ne nécessitera pas d'effort à nouveau.

En outre, les en-têtes Expires conduisent à des niveaux inférieurs de demandes sur votre serveur (puisque les réponses peuvent être mises en cache), qui accélérer les visites pour tous .

Gardez à l'esprit que YSlow ne peut pas voir votre code back-end, donc il ne peut fonder ses recommandations sur l'interaction du navigateur avec votre site. Vous devez certainement fixer votre base de données appelle d'abord. Les recommandations de Picnik concernant plusieurs demandes, gzip, etc sont assez solides, mais il me dit toujours d'utiliser un réseau de distribution de contenu - qui n'a aucun sens pour un petit site. Il suffit de ne pas passer beaucoup de temps / argent sur chaque recommandation aveuglément, et le facteur dans ce que vous savez et YSlow ne fonctionne pas.

Vous êtes tout à fait correct, l'optimisation dans le code d'application tel que

  • Optimisation des requêtes de base de données lentes
  • Mise en cache des requêtes fréquemment exécutées
  • mise en cache au niveau des composants des composants fréquemment utilisés
  • vitesse générale de Optimisations code d'application coûteux

vous donnera des gains de performance beaucoup plus élevées que les recommandations Picnik dans la plupart des cas.

Optimisations Picnik sont généralement adressées à améliorer les performances des parties statiques de votre site, qui seront généralement déjà de meilleures performances que les parties dynamiques, avant tout peaufinage.

S'il vous plaît, s'il vous plaît Ne pas utiliser les cookies et Expires pour votre contenu statique.

Il ne se contente pas de vous aider, il aide à me .

J'utilise un lien Internet plus lent à la maison, 144 Kbps. J'ai souvent chargé à pleine capacité, le téléchargement des mises à jour ou des fichiers vidéo. Cela rend sa latence aller jusqu'à 800 ms environ.

Les sites Web qui exigent beaucoup d'allers-retours pour les contrôles de temps If-Modified-Since chargent très lentement. Les sites qui utilisent correctement rapidement Expires charger car seul le contenu dynamique doit charger réellement.

Le code back-end est plus rapide et plus souvent que le code frontend. Essayez de garder la quantité de ressources externes (images d'arrière-plan, les fichiers CSS css et javascript fichiers) à un minimum.

Ce serait l'optimisation la plus cruciale, on peut faire IMHO.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top