L'Autre Net Bureau · Webmail · Aide · Wiki · Interventions · Irc · Mon
 

Quand un navigateur se connecte à votre site, il ouvre un certain nombre de connexions pour faire des requêtes en parallèle. Plus vite un fichier est transféré, plus vite le suivant peut l'être. Il est donc indispensable de rendre chaque sous partie de son site le plus rapide possible.

Pour que votre site aille vite, plusieurs paramètres sont à prendre en compte:

Le temps de génération (php)

Votre site peut-être statique, c'est à dire qu'il ne contient que des pages créées à la main. Ce genre de site est très rapide car aucun calcul ne doit-être fait sur les pages. Inconvéniant: la mise à jour peut-être laborieuse.

Si votre site est dynamique (ce qui nous intéresse ici): il faut distinguer le temps que php fasse ses calculs, interroge les bases de données etc .. Voir php

Le temps de génération (mysql)

C'est à dire le temps que va prendre MySQL pour renvoyer à PHP l'ensemble de résultats qui satisfasse la requête. Si un grand volume de donnée est à parcourir, ou que les index ne sont pas positionnés, ou que la requête est mal conçue, ce temps peut être de l'ordre de plusieurs secondes. Voir mysql.

Le temps de transfert au client

Le temps de chargement de votre site est celui qui est perçu par un visiteur. Sa connexion internet est moins rapide que la capacité du serveur à envoyer. Il faut donc penser à mettre toutes les chances de son côté pour rendre la page la plus légère possible.

Optimiser la taille des images

Vous utilisez des images sur votre site, celles-ci sont-elles à la bonne taille, ou avez vous juste modifié la taille affichée de l'image? Avez vous utilisé de la compression sur vos images?

Optimiser les fichiers externes (css, javascript)

Vous utilisez des scripts externes. Très bien. L'indentation est une bonne chose pour les humains, mais on peut utiliser une version condensée des bibliothèques et/ou des feuilles de styles. Celles-ci suppriment un maximum d'espaces, de tabulations, de saut de lignes, pouvant fair gagner plusieurs centaines de caractères (et donc d'octets à vos fichiers).

Adapter les politiques de cache

Les navigateurs gardent un certain nombre de fichiers en cache, comme par exemple les images, ou les codes javascript. Cela permet d'éviter de les retransférer en visitant le site. Il est donc indispensable de s'assurer de la validité des durées de caches envoyées par votre site, et d'inciter les navigateurs à cacher ces ressources.

Inconvénient: en cas de mise à jour, il se peut que certains navigateurs ne “comprennent pas” qu'il faut mettre à jour tel ou tel fichier. Voir les directives Pragma no cache.

Utilisation d'un sytème de cache

On distingue trois types de cache:

Le cache des navigateurs

Nous en avons parlé ci-dessus.

Le cache d'une application

Souvent les CMS utilisent un sytème de cache, par exemple, il gardent en mémoire la version formattée d'un article, pour éviter de refaire le calcul à chaque nouvelle visite. Certains autres créent des fichiers pour repproduire le comportement de sites statiques.

Les caches intermédiaires

Il existe également une catégorie de caches intermédiaires que l'on vient mettre avant le serveur web. Celui-ci garde en mémoire certains éléments qui ont été demandé, et permet de désengorger les frontaux web. Ces serveurs de caches sont plus rapides à restituer les données cachées. Attention à la cohérence des caches.

Ce genre de caches n'est pas (encore) disponible chez lautre.net

 
optimisation/bonnespratiques.txt · Dernière modification: 2013/05/31 17:52 par fser
[unknown button type]
 
Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki