Cache Manager

Présentation

Cache Manager vous permet de réduire le temps de chargement de vos pages en évitant à votre serveur de recalculer des pages inchangées entre deux consultations, afin d’afficher celles-ci plus rapidement à la demande suivante. Vous pourrez mettre en cache vos pages mais aussi vos modules afin de gagner en rapidité sur l’ensemble de votre boutique.
Vous pourrez ainsi gagner en confort d’utilisation pour vos clients, et en optimisation pour votre référencement naturel.

Généralités et principes de fonctionnement

La mise en cache est un procédé permettant de stocker des pages échangées entre un serveur et un client afin de réduire le temps d’affichage de celle-ci lors d’une utilisation future.

Le terme « serveur » désigne la machine hébergeant les fichiers de votre boutique.
Le terme « client » désigne un utilisateur quelconque effectuant une requête auprès du serveur, par exemple pour afficher une page.
Le terme « requête » désigne une demande du client pour le serveur. Par exemple, cliquer sur un lien de votre boutique effectue une requête d’affichage de la page correspondant au lieu auprès de votre serveur.

Cache Manager agit lors de la génération de la page par le serveur avant un envoi au client pour affichage.
Cependant, il est important de distinguer le temps de génération et le temps d’affichage :
– Le temps de génération est le temps nécessaire au serveur pour effectuer les traitements demandés et générer le code source correspondant à la requête du client. (Aucun style appliqué)
– La vitesse ressentie est le temps pour la génération du code et l’application des élements de style au code du serveur, comme les fichiers de style CSS ou bien les scripts JavaScript.

Cache Manager intervient donc dans le temps de génération : il optimise les requêtes afin d’en réduire le nombre, puis les stocke, afin qu’elles soient réutilisées lors d’une requête suivante.
Vous réduisez ainsi le temps de génération de la page puisque les requêtes ne sont pas effectuées mais récupérées depuis une précédente exécution.

Sachez enfin que Cache Manager nécessite l’activation du cache de Smarty, et que l’option « Compilation des templates » soit placée sur une valeur autre que « Forcer la compilation à chaque appel ». Ces option sont disponibles dans l’onglet « Paramètres Avancés » -> « Performances ».

Installation

Pour installer Cache Manager, vous pouvez consulter notre tutoriel sur l’installation d’un module disponible ici

Configuration

Configuration globale

Activer le cache central

cache-central
Cette option vous permet d’activer le cache central. Le cache central est celui qui gère les pages de base de votre boutique PrestaShop, telles que vos pages produit, panier, etc…
Activer cette option vous donne accès à un ensemble de nouveaux paramètres, vous permettant d’activer le cache sur des ensembles de pages spécifiques.

options-cache-central

Vous pourrez ainsi restreindre le cache aux pages produit, catégorie et promotions par exemple :

exemple

Enfin, vous pourrez définir la durée maximum de stockage en cache. Par défaut, cette valeur est fixée à 1440 minutes, soit 24 heures.

Activer le cache module

activer-le-cache-module
Cette option vous permet d’activer le cache module. Le cache module est celui qui va gérer les pages générées ou altérées par vos modules.
Activer cette option vous permet de définir la durée de vie maximale du cache module, avant renouvellement de celui-ci.

Configuration Cache Module

cache-module
Cet onglet vous permet de choisir à quel(s) module(s) appliquer le cache module. Vous disposez ainsi d’un tableau recensant tous les modules installés sur votre boutique. Ces derniers sont catégorisés par hook.

Un hook est le nom d’un point d’accroche sur une page permettant à un module d’afficher du contenu.

Vous pouvez également indiquer une durée de vie du cache pour chacun des modules, en cochant la case « Définir une durée de vie du cache », puis en indiquant dans le champ situé au dessus une valeur en minutes. Par défaut, le cache pour un module est stocké pendant 300 minutes.

Maintenance

maintenance
Cet onglet affiche le bouton « Clear cache », vous permettant de vider le cache actuellement stocké sur votre serveur.

Tâche planifiée

crontab
Cet onglet vous indique le lien à employer dans la mise en place d’une tâche planifiée permettant de vider le cache.

Mesurer l’impact de Cache Manager sur votre boutique

Comme indiqué dans la partie Généralités et principes de fonctionnement, Cache Manager agit sur le temps de génération de votre page. Ce temps est difficilement mesurable avec des outils comme GTmetrix, car ils mesurent la vitesse ressentie par l’utilisateur et non le temps de génération.
Dans cette dernière partie, nous allons voir comment mesurer l’impact de Cache Manager sur votre boutique PrestaShop.
Choisissez pour cela le tutoriel concernant le navigateur que vous utilisez :

Tutoriel pour Google Chrome
Tutoriel pour Mozilla Firefox

Tutoriel pour Google Chrome

Pour mesurer le temps de génération, nous allons utiliser l’inspecteur de Chrome.
Rendez-vous sur la page dont vous souhaitez mesurer le temps de génération, puis effectuez un clic droit sur celle-ci et choisissez « Inspecter l’élement ».

Apparait alors le code source de votre page. Rendez-vous dans l’onglet « Network ».

network-vide

Il vous faut alors recharger la page afin que l’inspecteur mesure l’activité réseau.

network

Comme sur la capture d’écran, vous devriez voir des graphiques apparaitre, ainsi qu’une longue liste sous ces graphiques. Remontez dans cette liste jusqu’à la première entrée, qui correspond au TTFB, Time To First Byte, soit le temps écoulé avant réception de la première donnée.
Cliquez sur cette entrée pour en voir les détails. Apparaissent alors une multitude d’informations concernant l’échange qui a eu lieu. Sélectionnez l’onglet « Timing » pour faire apparaitre des statistiques.

Les informations concernant le temps de l’échange apparaissent. Pour rappel, nous recherchons le temps de génération de la page, ce qui correspond au temps s’écoulant avant une réponse du serveur après une requête. La requête étant ici l’actualisation, cela équivaut à demander au serveur d’afficher l’url demandée.
L’information recherchée est ici renseignée, sous le nom de « Waiting (TTFB) ».

network-timing

Plus la valeur de « Waiting (TTFB) » est faible, plus le temps de génération de votre page est court. Plus cette valeur est élevée, plus le temps de génération de votre page est long.

Pour effectuer ce test une nouvelle fois, il vous suffit d’actualiser la page, et de re-sélectionner la première entrée de la liste.
Effectuez donc le test avec le module activé (et actif sur la page que vous testez), puis videz le cache via son onglet « Maintenance » et désactivez-le, et effectuez un nouveau test.

Il est important de vider le cache avant de désactiver le module car si vous ne le faites pas, les données déjà mises en cache seront utilisées lors du chargement de la page. Vous fausseriez alors votre test.

Tutoriel pour Mozilla Firefox

Pour mesurer le temps de génération, nous allons utiliser l’extension Firebug pour Firefox. Cliquez ici pour la télécharger si vous ne la possédez pas.

Installez-la, puis rendez-vous sur la page dont vous souhaitez mesurer le temps de génération, puis effectuez un clic droit sur celle-ci et choisissez « Inspecter l’élément avec Firebug ».

inspecter

Apparait alors le code source de votre page. Cliquez sur l’onglet « Réseau », puis actualisez votre page afin que le module mesure l’activité réseau.

reseau

Une longue liste de requêtes apparait alors. La première correspond au temps d’attente entre la requête et la réponse du serveur. Le temps de génération est alors affiché dans la colonne « Chronologie ». Placez votre curseur sur le graphique de cette colonne pour en voir apparaître les détails. C’est cette donnée qui correspond au temps de génération de la page.

details-reseau

Pour effectuer ce test une nouvelle fois, il vous suffit d’actualiser la page, et de re-sélectionner la première entrée de la liste.
Effectuez donc le test avec le module activé (et actif sur la page que vous testez), puis videz le cache via son onglet « Maintenance » et désactivez-le, et effectuez un nouveau test.

Il est important de vider le cache avant de désactiver le module car si vous ne le faites pas, les données déjà mises en cache seront utilisées lors du chargement de la page. Vous fausseriez alors votre test.