performances - poids - vitesse
La lenteur coûte cher…
Attention: cet article date du 11 octobre 2008
Ce qu'il contient est peut être encore valable...
... ou complètement obsolète!
On le sait, les internautes sont impatients. On le sait entre autre car nous sommes nous même internautes. Donc, une page qui arrive trop lentement nous fait perdre des internautes, des visiteurs car ils n’attendront pas très longtemps.
Ce délai, ou latence, peut provenir de multiples raisons, et peut coûter cher. Réduire au maximum les sources de latence permet donc d’avoir un site plus efficace, et donc plus rentable…
La latence, c’est le temps que prend un serveur à servir un client, soit dans notre cas le délai entre la demande de l’internaute et le moment où il obtient la page qui l’intéresse.
Les sources de latence dans le cas d’un site Internet sont multiples, nombreuses.
Du côté du serveur…
Avant d’être envoyée aux internautes, les pages sont stockées sur le serveur, la vitesse de celui ci est donc cruciale. Il faut donc bannir un système d’exploitation lent, un processeur lent, une mémoire trop faible, un disque dur lent… En bref, éviter un serveur sous dimensionné, souvent lié à trop d’économies sur l’hébergement…
Bien sûr, si vos pages sont dynamiques (donc utilisant un langage de programmation, php ou autre), la qualité de l’écriture du programme influera sur les délais de résultat.
Un bon programme est plus rapide qu’un mauvais…
Votre site dynamique utilisera sans doute une base de données. Sa structure sera cruciale (l’organisation des données), ainsi que la manière d’écrire les requêtes (les demandes de données que l’ont fait). Trop d’informations redondantes, pas assez d’index, des requêtes à répétitions : à banir !
Les spécialistes des bases de données préconisent d’utiliser plutôt des architectures non ACID (Atomicity, Consistency, Isolation, Durability)… Avec ACID, les données sont plus fiables car vérifiées par le système, mais cette vérification prennant du temps… MyISAM plutôt que InnoDB.
Du côté du client…
On ne cesse de le répêter, des pages html lourdes sont… lourdes ! Et donc peuvent être sources de latence… Car 60Ko de données sont plus long à transmettre que 8Ko.
Mais aussi car la mise en forme complexe des pages demande du travail au navigateur de l’internaute, et donc à son ordinateur – qui peut être lent aussi. Quelques optimisations sont possibles, comme un niveau d’imbrication des élements le moins élevé possible (bannir le tableau dans le tableau dans le tableau…), l’utilisation d’une seule feuille de style (pour la mise en cache). AJAX permet aussi dans une certaine mesure de réduire la lenteur en ne chargeant que certains morceaux de page par exemple – mais pose d’autres problèmes (de référérencement).
Sans oublier une bonne compression des images (avec une qualité acceptable bien sûr) source de nombreux gains.
Un site en Flash sera toujours plus lourd et plus lent à démarrer, car les éléments qui le composent pèsent plus. Faire patienter l’internaute avec un prechargement des pages (et un pourcentage qui défile) sera indispensable, mais également optimiser les éléments qui compose l’animation : images externes (avec pré-chargement), compression…
Et entre le client et le serveur ?
C’est sans doute ce sur quoi nous autres webmasters pouvont le moins influer. L’infrastructure même du réseau peut être source de latence, comme par exemple les serveurs DNS, le protocole TCP, les relais, routeurs et autres équipements qui peuvent être saturés…
Oui, les autoroutes de l’information ont aussi des bouchons !
Là où l’on peut éventuellement influer ce sera dans la proximité entre l’internaute et le serveur. Choisir un hébergeur dans le même pays que la cible du site, pour réduire la distance.
Et que cet hébergeur dispose lui même d’une bonne infrastructure… Donc, ne pas mégoter sur les options que l’on prend quand on choisi l’hébergeur : bande passante, quota de traffic…
Le cout de la latence
Une étude fait réfléchir : Amazon a découvert que chaque 100ms de latence lui coûte 1% de ses ventes. De son côté, Google a remarqué que chaque demi seconde de retard dans la génération des pages de résultats réduit son trafic de 20%.
Si deux géants comme Amazon et Google, avec leurs réputations et leurs infrastructures affolantes qui doivent être derrière perdent si peu (mais tellement), que doit-il en être de nos sites ?
Liens externes
- Latency is Everywhere and it Costs You Sales - How to Crush it
- Woozweb
- Service qui scrute les plus grands sites du web français sous l'angle technique : temps de réponse, disponibilité, technologies, contenus, benchmark, poids de page, chronologie de chargement...
Impatience
« On le sait, les internautes sont impatients » J’adore il paraitrait donc que je ne suis pas tout seul…
Héhé…
Certains le sont sans doute plus que d’autres :-)