Prestashop cache & compagnie

Il est temps de faire le point sur la vitesse de chargement de Prestashop et sur la plupart des inquiétudes remontées par les clients. Actuellement il y’a un genre de « parano » qui concerne la vitesse de Prestashop… pourtant il n’y a pas de quoi paniquer.

Une focalisation

Actuellement sur les blogs on voit beaucoup de sujets concernant la vitesse du site / boutique, l’impact sur l’utilisateur, l’impact sur les moteurs de recherche etc… Du coup une série de clients commencent à essayer de grappiller des centièmes à gauche, à droite… un peu plus léger… « Ouf j’ai gagné quelque ko en chargement ici… je compresse les images… ». C’est un bon comportement, mais à mon sens inutile dans le 99% des cas… je m’explique…

Le cache de Prestashop

Ce qui est important pour avoir une vitesse d’affichage correct sous Prestashop c’est d’activer la gestion du cache et de forcer la recompilation du template uniquement si celui-ci a été mis à jour (voir configuration ci-dessous). Actuellement c’est le réglage que j’applique par défaut sur les boutiques que je déploie en production.

Un réglage basique qui provoque une véritable différence dans le temps de chargement.

Le cache avancé CCC

Concernant le cache avancé, je parle donc ici du CCC (toujours dans les paramètres avancés) pour la compression du Javascript, CSS & Html… La compression amène rarement un véritable « gain » au niveau de la performance d’affichage, bien souvent elle amène plus d’inconvénients… La compression CCC n’est pas toujours optimale, parfois certains Javascript ont un comportement bancal ou certaines règles CSS mal interprêtées. Il faut noter aussi que le débugage est toujours plus compliqué sur un site en production, le code source est compressé ce qui rend plus difficile l’identification d’un bug (même via Firebug).

Le cache CCC amène rarement un gain sur des petits / moyens shop.

Les serveurs de médias

Là aussi encore une fois… on vante souvent les mérites de cette technique en effectuant un chargement plus rapide des fichiers par l’intermédiaire de différents serveurs. Dans ce que j’avais observé à l’époque, sur des petites boutiques il peut même se produire le contraire, un service du genre peut « ralentir » le shop sur certains traitements. Si vous passez via un service CDN, encore faut-il que celui-ci soit proche géographiquement de votre serveur… et que votre hébergement soit lui dans le pays où vous touchez le maximum de clients. Avoir un serveur en France, avec un service CDN aux USA alors que vous avez votre clientèle en Suisse, serait à mon sens un bien mauvais deal.

Le CDN peut-être utile, mais pour des sites disposant déjà d’une certaine renommée.

Le cache serveur

C’est toujours « mieux » si on peut s’en passer, il faut faire appel à cette technique quand on a déjà optimisé le reste, mais que c’est toujours lent. Par exemple j’ai déjà pu observer des contraintes liées au APC cache sur certaines boutiques. Il arrive que parfois certains traitements peuvent se trouver altéré, cela peut-être aussi lié à l’actualisation des fichiers « .php » qui ne se fait par exemple pas immédiatement. Ces systèmes de caches sont intéressants, mais apportent un lot de contraintes supplémentaires et peuvent aussi apporter des bugs vicieux.

L’APC cache reste relativement populaire, mais si on peut faire sans c’est mieux.

L’hébergement est vital

Quelque chose sur lequel il ne faut pas économiser c’est le « serveur », inutile d’aller le louer à l’étranger pour économiser quelques CHF / EUR. Il faut prendre un hébergement qui soit dans votre pays et auprès d’une entreprise sérieuse avec des infrastructures rapides (en Suisse je conseille Infomaniak ou Kreativmedia pour leur VPS). Un hébergement de bonne qualité vous évitera déjà bien des tracas au niveau de la vitesse de chargement.

Le trafic

Dans mes clients je constate que beaucoup ont un faible trafic, par ex. inférieur à 150 visites par jour. Imaginez cela fait 7 visiteurs par heure… donc peut-être en conclusion un visiteur simultané en train de naviguer sur le shop… Pensez-vous qu’il soit utile d’améliorer la vitesse quand le trafic permanent peut se situer entre 1 et 7 visiteurs simultanés ? C’est trop peu pour voir véritablement une différence sur la consommation des processus.

Les outils d’audit

A nouveau il faut être prudent concernant les chiffres annoncés via des services comme par exemple Gtmetrix, le service n’est pas forcément local (géographiquement) du coup déjà rien que par ce fait les valeurs et délais de chargements peuvent être faussés. Ce type d’outil peut servir à titre « indicatif », mais ne doit pas être considéré comme la « vérité incarnée ». Il faut aussi prendre en compte le temps de chargement « ressenti » et le temps de chargement « technique », ce qui compte surtout pour l’utilisateur c’est qu’il ait la sensation que la page se charge instantanément.

GTmetrix est un outil puissant, mais il faut observer les chiffres avec précaution.

Bilan

Dans une bonne partie des cas le cache standard de Prestashop devrait suffire, pour autant que l’hébergement soit rapide. Il est possible ensuite de grappiller de la vitesse ici et là avec les autres options, mais très souvent le gain est minime et le ressenti pour l’utilisateur reste identique. Bon il y’a aussi des clients qui importent des flux énormes de produits > 100’000 et ensuite le chargement du shop devient lent et il faut optimiser le cache… Mais bon, si on veut gérer des centaines de milliers de produits… cela demande un peu plus de technique que le simple import d’un fichier CSV… du coup faut aussi certains moyens techniques et financier.

Notez mon billet, Google va adorer :
1 étoiles - J'aime pas !2 étoiles - Bof !3 étoiles - Bien !4 étoiles - Très bien !5 étoiles - Génial ! (Soyez le premier à noter ce billet)
Loading...

6 commentaires sur “Prestashop cache & compagnie”

  1. Juste une petit précision, quand on crée un compte gratuit sur gtmetrix, on peut choisir la localité (pays), pour éviter d’avoir des temps de chargement depuis les US qui ne vont pas trop être parlantes.
    Sinon il y a aussi pingdom et webpagetest qui peuvent être des alternatives

    1. Hello,

      Merci pour cette précision, j’ignorais qu’il y’avait cette possibilité et que cela était ensuite pris en compte.

      Mais bon, ce qui est important c’est vraiment de diagnostiquer les vitesses si le site en question est vraiment lent, sinon c’est une perte de temps qui pourrait être investi dans autre chose.

      On se comprends bien, je parle des petites entreprises… Des sociétés comme Amazon, Cdiscount, Fnac etc… ont le temps et l’argent pour s’y attarder ce qui n’est pas le cas de la PME du coin.

      A bientôt !

  2. C’est vraie j’ai activer le CDN sur notre site depuis un mois environ et j’ai constater un léger ralentissement. (encore petite boutique en ligne)

    En ce qui concerne le Memcached tu conseil de l’installer quand même?
    Car tu parle uniquement du cache APC. (enfin si j’ai bien compris)

    En ce qui concerne l’hébergement, nous on est chez Kreativmedia depuis plus de 5 ans… au début pour des sites de petites tailles. Mais depuis un ans nous avons mis en ligne notre shop et nous avons souvent fait appel à leur service ou conseils. Les réponses sont ultra-rapide et le service client top. 😉

    1. Avec le CDN cela donne une sensation de blocage / lag temporaire… puis « hop » tout s’affiche rapidement, mais ce n’est pas vraiment plus rapide pour le client (pour des petits / moyens shop).

      Pour Memcached, je me souviens avoir eu de drôle de surprises avec… du coup j’évite, mais s’il faut gagner de la vitesse c’est toujours un plus de le mettre en oeuvre. Après il faut à mon sens modérer les systèmes de cache, une fois qu’ils sont tous activés, ça peut engendrer des erreurs de cache sur cache, pour les traitements….

      Bonne nouvelle si ça joue chez Kréativemedia, actuellement je passe en partie par eux et aussi via Infomaniak. Ce qui m’agace malgré tout, c’est que ces 2 entreprises engagent un max de français ce qui n’était pas le cas à l’époque. Du coup le service n’est plus aussi bon qu’à l’époque le niveau et la volonté des techniciens laisse aussi à désirer (on sent le truc au rabais).

      Mais bon, ce qui compte c’est que finalement l’hébergement tourne et que les commandes arrivent 😉

  3. Hello,

    Est ce qu’on peut changer les paramètres CCC sur un site en ligne sans craindre des problèmes ?

    Mon site est lent et il arrive même que la page ne s’ouvre pas, ovh me dit que c’est le trafic mais 150 visites par jour c’est pas non plus énorme …

    Je sais que l’abonnement n’est pas optimum mais est ce que 1200 articles ca demande autant … c’est pas Zalando quand même.

    Merci pour vos infos ;D

    1. Bonjour,

      Oui, en principe sur les versions du type 1.6 et avec la nouvelle génération de thème cela fonctionne assez bien.

      Par contre, ce n’est pas vraiment le type d’optimisation qui change réellement la vitesse.

      Je vous conseille de faire une recherche sur « Prestashop lent » dans Google, les causes peuvent être multiples, cela peut-être lié à l’hébergement, à un module qui prend trop de ressources ou encore la base de données qu’il faut parfois purger (tables de statistiques).

      Merci pour votre visite !

Laisser un commentaire

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