QoS et contenus encapsulés
Par Élie Sloïm le dimanche 7 octobre 2007, 22:28 - Qualité Web - Lien permanent
Tout le week-end, la consultation de très nombreux sites a été très difficile voire impossible. Sur l'équipe, Canal plus, Libé, et encore bien d'autres, j'ai souvent eu des pages vides ou presque, alors qu'un petit message s'affichait dans ma barre d'état : "En attende de smartadserver.com".
Voici les jolies captures que je viens de faire en écrivant ce billet (dimanche 7 octobre après-midi) :


Hé oui, dans une page Web moderne on encapsule différents contenus, et si l'on y prend garde, il suffit qu'un seul de ces contenus encapsulés ne soit pas disponible pour que la page ne s'affiche plus. C'est quelque chose qui nous est arrivé une ou deux fois sur ce blog avec le BlogRoll Criteo ou le bouton d'abonnement Wikio.
Pour un administrateur de site, il ne suffit plus de monitorer la qualité de service (QoS) de son propre serveur, mais de tous les serveurs de contenus encapsulés dans les pages. Voici quelques précautions qui me viennent à l'esprit pour limiter ces risques :
- Mise en place de contrats de services avec les fournisseurs.
- Fixer des délais maximum d'attente, au dela duquel le contenu est remplacé par d'autres
- Mise en place de load balancing (répartition de charge) entre plusieurs serveurs par les fournisseurs de contenus.
Ces sites ont certainement perdu beaucoup de visiteurs mécontents, et bien sûr d'argent à cause de ces publicités qui ne s'affichaient pas. Je ne vous parle même pas des annonceurs et de la régie concernée. Je peux vous dire que samedi soir, juste après la victoire des français sur les All blacks, ça devait être costaud, au niveau trafic.

Commentaires
C'est pour ça que de manière générale, lorsque c'est possible, il faut insérer les scripts JavaScript en fin de page et éviter au maximum les appels vers des noms de domaines différents du domaine principal.
Même si les sites fonctionnent, c'est un gain de temps d'interrogation de DNS. Et quand ça ne fonctionne pas, la page stagne mais n'a plus rien d'intéressant à charger.
Une nouvelle bonne pratique ?
Pourquoi pas ;-)
Pour l'histoire des DNS par contre j'ai appris ça sur cette page, à côté des 12 autres règles (très intéressantes et vérifiables grâce à l'extension YSlow pour Firefox) : developer.yahoo.com/perfo...
Pas forcément en fin de page (bonne pratique si tu veux, mais à prendre avec des pincettes).
Je dirais que, déjà, repousser le chargement des "services tiers" au moment où la page a fini de charger serait judicieux (onload= lancer la syndication de services).
Ce qui peut poser des problèmes quand on a un engagement contractuel de ne pas changer le code d'insertion (voir par exemple les prestataires de statistiques et de tracking, très sourcilleux contractuellement dès qu'on parle de modification de leur code, même en connaissance de cause).