Google sort mod_pagespeed, un mod Apache pour accélérer les pages web

Dans sa lutte acharnée contre la lenteur du web, Google vient de sortir un mod apache « mod_pagespeed » (sorte de plugin pour le serveur web) qui permet d’apporter un certain nombre d’améliorations, en vue d’accélérer le chargement des pages web. D’après ce qu’explique Google sur son blog Webmaster Central, ce mod serait issu du même mouvement global que celui qui avait donné lieu l’année dernière à la mise à disposition du grand public d’un plugin (PageSpeed) permettant d’auditer ses pages web.    

Gain constaté grâce au statut 304 Not Modified

D’après ce qu’explique Google, le mod apporte pour l’instant 15 améliorations à-la-volée optimisant entre autre le cache, les aller-retour client-server et la bande passante. D’après eux toujours, ils ont pu constater une diminution drastique de 50% du temps moyen de chargement des pages web sur une moyenne de sites qu’ils ont testé.
Ils donnent quelques exemple d’améliorations que l’on peut faire soit-même, à la main, mais que le mod_pagespeed fait tout seul, à la volée :

  • Recompresser une image HTML quand son contexte change, afin de ne servir que les ko nécéssaires (pas bien compris), et
  • Étendre (jusqu’à un an) la durée du cache pour le logo et les images d’un site (via le code 304 Not Modified).

Google raconte de façon assez intéressante qu’ils travaillent avec GoDaddy (gros fournisseur d’hébergements mutualisés aux USA) afin de mettre le mod_pagespeed pour ses 8,5 millions de clients (dont je doute qu’ils sont tous sur un hébergement mutualisé, mais admettons) ; ainsi qu’avec le service de CDN Cotendo.

Une bonne chose, ce mod_pagespeed ?

Bien sûr, je pense que ce mod est une bonne chose. Il ne peut pas faire de mal. Pour autant, quand je tente de voir ce que ce mod apporte, je me dis qu’il réalise pas mal de chose que l’on fait très vite quand on a un peu la main sur la plateforme : compression gzip, code 304 not modified, bref, des petites choses de base, mais pas forcément disponibles quand on est sur un hébergement mutualisé. Et de surcroît, ces choses sont souvent fournies de base quand on met un serveur statique en front devant Apache (je pense à Varnish ou Nginx). Donc oui, une bonne chose, notamment pour les hébergeurs qui pourront ainsi équiper leurs hébergements mutualisés (donc peu de maintenance à faire), tout en gagnant pas mal en bande passante (évidemment, si ce mod permet d’éviter aux clients de re-télécharger les images communes à chaque page vue, y’a de quoi gagner gros !). Mais pour les gens qui se sont déjà intéressé au problème et qui ont mis en place une structure de serveur web un peu moins basique qu’un seul Apache, alors le gain n’est plus très important.

Comment l’installer ?

OS supportés :

  • CentOS/Fedora (32-bit and 64-bit)
  • Debian/Ubuntu (32-bit and 64-bit)
  • Apache 2.2

Liens de téléchargement pour les packages :

Pour installer les packages, sur Ubuntu, taper les commandes suivantes (après s’être mis en root et avoir téléchargé le package sur son serveur) :

dpkg -i mod_pagespeed_*.deb

Pour CentOS/Fedora, taper la commande suivante (en root aussi)

rpm -i mod_pagespeed_*.rpm

Installer mod_pagespeed ajoute automatiquement un repository Google à son serveur, ce qui permet de tenir son système à jour. Si vous ne souhaitez pas avoir le repository Google, faites  sudo touch /etc/default/mod-pagespeed avant d’installer le package.

Edit : Je viens de tester Page_Speed sur mon Apache. SURTOUT ne l’utilisez pas lorsque vous avez un Apache en backend d’dernier un reverse proxy ! En fait mod_pagespeed change les noms des fichiers de la page web afin d’en faire des copies en cache au sein de Apache, ce qui fait qu’il sert des pages HTML modifiées, et celles-ci ne peuvent plus correctement être utilisées par le serveur en front. Exemple : si votre page HTML contient des liens vers des feuilles CSS, mod_pagespeed va changer le nom de la feuille CSS (mettre un lien différent), que lui seul saura traiter (le CSS sera en cache dans Apache, mais pas sur le filesystem), donc pas utilisable par un autre serveur.

Pour désinstaller mod_pagespeed, faites dans votre terminal : a2dismod pagespeed puis /etc/init.d/apache2 force-reload

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.