Articles avec le tag ‘cache’

Experience de voici.fr

Vendredi 13 novembre 2009

J’aime bien apporter un peu de retours d’expérience, pour montrer que toute la théorie fonctionne aussi en pratique. Certes il y a Yahoo!, Google, Amazon, mais ce sont des trop gros sites pour que le développeur moyen se sente impliqué.

Alors voilà, Charles-Christian Croix nous parle un peu de ce qui a été réalisé sur Voici.fr. La première étape se fait via une configuration des entêtes HTTP de cache de ezPublish puis une configuration de mod_gzip sur Apache, et enfin par une configuration de mod_expires, toujours sur Apache. Il fait de même plus tard sur une installation Dotclear. (Lire la suite…)

Performance ressentie avec Mozilla

Mercredi 12 août 2009

Ici je m’attache beaucoup aux chiffres : temps de chargement complet, latence, nombre de composants, etc. J’ai besoin de convaincre et seuls les chiffres ont l’objectivité nécessaire pour pouvoir travailler avec des gens non convaincus.

Toutefois, une fois dépassé ce stade il faudrait se détacher un peu des chiffres pour parler de performance ressentie et pas toujours de performance mesurée. Parfois peu importe la durée de l’attente si on voit que nous progressons régulièrement et que l’attente n’est pas frustrante en elle même. C’est vrai aux caisses d’un supermarché comme sur une page web.

Les éditeurs de navigateurs l’ont bien compris. Ils jouent sur les indicateurs de chargement et sur l’interface pour donner une impression de vitesse à l’utilisateur. L’impression de vitesse est l’unique chose qui compte pour ce dernier, même si au final ça veut dire que les temps mesurés sont objectivement plus lents.

C’est avec cette idée en tête que je vous propose de lire le document de Mozilla à propos de la performance perçue. On y retrouve certaines techniques à mettre en oeuvre sur les versions actuelles ou futures de Firefox. Le document mériterait une traduction tellement il fourmille d’idées, dont certaines sont lumineuses.  Je vous en retransmet certaines, avec mes commentaires. (Lire la suite…)

Petit exemple de mise en pratique

Vendredi 26 juin 2009

Voici un petit exemple de comment mettre en place les bonnes pratiques de cache et de concaténation des fichiers javascripts. L’article date de 2006 mais n’a pas pris une ride.

On y retrouve une réflexion sur comment regrouper les fichiers javascripts entre eux et comment les compresser. La note sur mod_gzip est toutefois assez contestable. Il est désormais sans risque d’activer mod_gzip ou mod_deflate, et ceux qui veulent absolument éviter tout risques peuvent trouver facilement sur internet des listes d’exclusions pour cibler les navigateurs défectueux.

La politique de cache est intéressante à étudier. Ils ont évité les paramètres en ?xxx et ont choisit de versionner le nom de fichier directement. Pour éviter d’avoir à créer un fichier par version, c’est à mod_rewrite qu’il revient de faire la liaison entre l’url et le fichier à jour. Les adresses main.v27.css et main.v256.css mènent toutes vers le même fichier main.css, toujours à jour.

Au final ils passent encore par un script PHP pour délivrer leurs fichiers javascript et css au lieu d’utiliser mod_expires, mais vous avez une expérience concrête, et reproductible en une journée pour améliorer vos performances.

Petit point sur les caches

Mercredi 10 juin 2009

Votre page peut-elle être mise en cache par le navigateur ? voyons ce qu’il en est en théorie avec HTTP 1.1 (en pratique le navigateur fera toujours ce qu’il veut, et il y a plus de couples navigateur/configuration que vous ne l’imaginez, donc n’ayez aucune certitude). (Lire la suite…)

Latence et CDN

Mercredi 3 juin 2009

La latence est une des composantes qui pénalise le plus les performances actuellement. Les connexions Internet françaises se font plutôt à haut débit, et même un mauvais wifi laisse finalement passer assez de trafic pour que ce soit viable. Par contre, avec l’explosion du nombre de composants par page, la latence est probablement le facteur le plus limitant. 40 composants à 50ms de latence, c’est 2 secondes de perdues. Même en imaginant utiliser deux fils de téléchargement, c’est encore une seconde d’attente. Sur une mauvaise connexion (wifi ?) ou quand on s’adresse à un site qui n’a pas de serveur en France (ou très proche), la latence peut vite exploser.

Je ne parle même pas de ce que pourraient nous apporter HADOPI et LOPSI2 s’ils filtrent les accès côté FAI (on peut leur faire confiance pour affirmer que les débits ne bougeront pas, mais en ce qui concerne la latence…). À 120ms de latence c’est d’un coup plusieurs secondes qui partent en fumée. En fait ce sont souvent les publicités qui ont la plus grande latence. Quand le javascript qui gère la pub est bloquant et qu’on a deux ou trois redirections HTTP, on peut facilement perdre une seconde. Si vous ne me croyez pas, regardez l’exemple de Right Media. (Lire la suite…)