SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

274 Plugins, 192 contribs sur SPIP-Zone, 237 visiteurs en ce moment

Accueil > Optimisation et performances > Cache Cool > Cache Cool

Cache Cool

31 octobre 2009 – par Cedric Morin – 38 commentaires

28 votes

Ce plugin accélère le service des pages en différant le calcul du cache lorsque c’est possible pour éviter à l’internaute d’attendre après.

Il sert donc le cache « froid », et le réchauffe en cuisine pour la prochaine fois qu’il sera demandé.

Installation

Le plugin s’installe classiquement. Il est disponible par svn, à l’adresse svn ://zone.spip.org/spip-zone/_plugins_/cache_cool, ou en zip à télécharger.
Il n’entraine aucune modification de la base de données.

En revanche, le plugin nécessite au minimum la version SPIP 2.0.11, ou, mieux, une version 2.1.x.

Le plugin nécessite également le plugin Job Queue pour la mise en file d’attente du calcul des page en cache.

Comment ça marche

Le plugin s’insère dans le processus de calcul des pages a mettre à jour au moyen de la fonction public_produire_page.

Si c’est un calcul normal pour une mise en cache, il regarde alors si une version du squelette est déjà disponible et peux être envoyée à l’internaute. Dans ce cas, et si le visiteur n’est pas connecté, il lui envoie la vieille version du cache, et ajoute à la queue un calcul du squelette pour mettre à jour le cache.

Est-ce que ça marche ?

Pour vérifier si le plugin marche, vous pouvez surveiller la queue des jobs en attentes sur ecrire/?exec=job_queue. Vous devez voir passer des calcul de squelette comme par exemple Calcul du cache inclure/rubriques [inclure_page]

Est-ce-que ça marche vraiment ?

Pour que le plugin soit efficace, il faut que votre site reçoive un traffic suffisament important pour que les caches en attente soient calculés rapidement.

Sur un site à faible traffic, le visiteur verra toujours une veille page qui sera mise à jour uniquement après son passage. La version à jour ne profitera à personne.

Du point de vue du visiteur, le temps de réaction du site est sensiblement accéléré. Mais il faut que cela ne se paie pas par une information constamment périmée !

Gains attendus

Dans toutes les configurations, le plugin permet un gain sensible et visible sur le temps de service des pages par le serveur. Car l’assemblage d’une page est beaucoup plus rarement ralenti par le calcul d’un morceau de squelette. Mais il faut veiller à avoir un $quota_cache suffisamment grand dans le fichier mes_options.php.

J’utilise en général l’initialisation suivante dans mes_options.php :

ce qui permet de déclarer une taille de cache de 100Mo au lieu de 10Mo (valeur par défaut).

Retour en haut de la page

Vos commentaires

  • Le 27 janvier à 14:01, par LudoRA En réponse à : Cache Cool

    Bonjour.

    J’utilise les dernières versions de cache_cool (0.2.4) et job_queue (0.6.5) sur plusieurs sites spip 2.1.12.

    Oilà. je suis à la page donc.

    Je trouvais mes sites très lents, alors que mais autres appli’ s’en portait pas plus mal chez le même hébergeur.

    Démarche expérimentale oblige, j’ai testé des paramètres un par un.

    En désactivant cache_cool, c’est toujours aussi lent.

    En désactivant job_queue, dépendance oblige, cache cool se désactive aussi, mes sites on reprit immédiatement du poil de la bête. C’est flagrant.

    Donc, je trouve ça étrange. Je suis prêt à faire d’autres tests si ça intéresse quelqu’un.

    À plus.

    Ludo

    Répondre à ce message

  • Le 28 novembre 2010 à 15:48, par LaVacheFolle En réponse à : Cache Cool

    Bonjour,

    depuis que j’ai installé Cache Cool, le site est beaucoup plus rapide qu’auparavant c’est super.
    Le seul bémol, c’est que j’ai une base qui grossit... grossit.

    Aujourd’hui la table spip_jobs dans mysql pèse pas moins de 100mo
    >> 22 495 lignes et 103,9 Mo

    Est-ce normal ou ais-je fait une bétise ?

    Merci à tous d’éclairer ma lanterne car j’ai 250 mo de base et je ne voudrais pas planter le site si ca dépasse le quota ;-)

    • Le 6 janvier 2011 à 09:13, par François En réponse à : Cache Cool

      Hello,

      J’ai exactement le même soucis. Ma bdd occupe 90% de l’espace autorisé par mon hébergeur et ça commence à devenir franchement problématique. Peut-on vider cette table jobs sans risque ?
      D’avance merci pour votre aide :)

    • Le 6 janvier 2011 à 09:44, par Cedric Morin En réponse à : Cache Cool

      Bonjour, la table des jobs ne doit jamais rester volumineuse : elle est censée se vider en moyenne aussi vite qu’elle ne se remplit.
      Si la table ne se vide pas ou se maintient à un niveau élevé, cela montre peut être un problème de stratégie de vidage des jobs et cela peut être embètant.
      Il est toujours possible de vider la table manuellement, en repassant ensuite sur la page d’aministration ecrire/exec=job_queue pour réinitialiser la file.

      Cela dit, si ta file remonte à un niveau élevé rapidement, je suis intéressé pour avoir un accès à ton site et voir quel est le scenario qui empêche la file de se vider. Utilise-tu bien une version >= 2.1 de SPIP ainsi qu’une version à jour des plugin job_queue et cache_cool ?

    • Le 6 janvier 2011 à 11:09, par François En réponse à : Cache Cool

      Bonjour,
      Merci de te pencher sur mon problème.
      Voici mon site : www.inkd.eu.
      Pour info, j’en suis à plus de 8600 lignes dans ma table spip_jobs, chacune pesant entre 2 et 4 Ko (soit à peu près la taille max de ma bdd).
      Je suis sous Spip 2.1, Cache_cool 0.2.4 et job_queue 0.6.2.
      Je ne suis pas parvenu à vider manuellement la table en passant par ecrire/exec=job_queue (erreur 404). L’alternative c’est bien de supprimer les lignes dans la table via PhpMyAdmin. Aucun risque ? (je suis un total nb en MySql).

    • Le 6 janvier 2011 à 11:37, par Cedric Morin En réponse à : Cache Cool

      excuse-moi il manquait un point d’interrogation, la page d’admin est : ecrire/?exec=job_queue
      Je vais ajouter un bouton de purge sur cette page, ce sera le plus simple, car manipuler la base en SQL est tojours risqué. Sinon, le mieux serait de me donner un accès admin à ton site, pour que je regarde ce qui se passe et pourquoi la file ne se vide pas correctement. Tu peux m’envoyer ton email via le formulaire de contact de SPIP-contrib si tu le souhaires, afin qu’on gère cela en direct.

    • Le 7 janvier 2011 à 11:42, par Cedric Morin En réponse à : Cache Cool

      Le probleme de file de travaux qui ne se vide pas est du dans la plupart des cas a une version SPIP pas a jour, et une version de PHP trop ancienne. La version 0.6.4 du plugin Job Queue en tiens compte, et une simple mise a jour suffira à corriger le probleme. La page d’administration ecrire/?exec=job_queue propose aussi un bouton pour purger la file et la réinitialiser.

    • Le 8 novembre 2011 à 16:12, par Billou En réponse à : Cache Cool

      J’ai le plugin en 0.6.5, spip en 2.1.10 et pourtant la table spip_jobs pèse 58Mo…

      Quand je vais à la page d’admin de votre lien, ça me dit ça : « 17632 travaux en attente / Prochain travail dans 0 s »
      Il prévoit même des tâches pour Décembre 2012 et 2013 ! Il est prévoyant =D

      Est-ce normal ?!

    Répondre à ce message

  • Le 23 décembre 2010 à 18:45, par Yffic En réponse à : Cache Cool

    Hello Cédric

    Vu que le plugin est nécessite spip 2.1, je peux rajouter ce necessite dans plugin.xml simplifier la description ?

    Répondre à ce message

  • Le 8 novembre 2010 à 12:59, par martingranger En réponse à : Cache Cool

    Bonjour,
    avec un Spip tout frais passé à 2.1.2 + les plugins jobqueue et cachecool installés et activés, la page ?exec=job_queue ainsi que tmp/queue.log ne m’affichent aucune référence public_produire_page.

    Ai-je oublié de faire quelque chose ?

    • Le 8 novembre 2010 à 13:11, par Cedric Morin En réponse à : Cache Cool

      En fait, sur les sites a faible trafic, on a pas le temps de voir apparaîtres les jobs sur la page dédiée.
      Il faut regarder le fichier tmp/queue.log pour voir si tu y vois bien public_produire_page

    • Le 8 novembre 2010 à 14:02, par martingranger En réponse à : Cache Cool

      Ah, effectivement, des références sont bien apparues depuis mon dernier post, et ça ressemble à ça :

      Nov 08 07:38:50 209.44.112.96 (pid 20781) queue: public_produire_page() start
      Nov 08 07:38:51 209.44.112.96 (pid 20781) queue: public_produire_page() end
      Nov 08 07:38:53 209.44.112.96 (pid 10331) queue: public_produire_page() start
      Nov 08 07:38:53 209.44.112.96 (pid 10331) queue: public_produire_page() end
      Nov 08 07:38:53 209.44.112.96 (pid 10331) queue: public_produire_page() start
      Nov 08 07:38:53 209.44.112.96 (pid 10331) queue: public_produire_page() end

      Mais à partir de quel trafic dois-je considérer que ce plugin peut m’être utile ? Le site en question reçoit 10000 visites par mois. C’est pas assez ?

    Répondre à ce message

  • Le 17 octobre 2010 à 17:15, par LudoRA En réponse à : Cache Cool

    Bonjour.

    Je n’ai rien du style « Calcul du cache inclure/rubriques [inclure_page] » à apparaître dans la queue. J’utilise la version 2.1.1 patché de SPIP. De plus, je ne vois pas d’accélération notable du chargement des pages. Ceci peut expliqué cela.

    Bref, une idée de pourquoi ça ne fonctionnerai pas chez moi ?

    Merci.

    • Le 17 octobre 2010 à 18:12, par Cedric Morin En réponse à : Cache Cool

      Deux remarques : si tu utilises une version 2.1.1 de SPIP, il ne faut pas la patcher. J’ai corrigé la documentation sur ce point.

      Enfin, si tu testes en naviguant toi même dans les pages du site, alors Cache-cool ne te servira jamais des cache froids car tu es connecté à SPIP. Pour éviter de servir des pages qui pourraient contenir des informations liées à un autre visiteur, les caches froids ne sont servis que pour les visiteurs anonymes. Teste en visitant le site avec un autre navigateur, dans une session anonyme.

      Tu peux aussi verifier que tmp/queue.log contient bien des références au job public_produire_page.

    • Le 17 octobre 2010 à 21:24, par LudoRA En réponse à : Cache Cool

      OK.

      Quand je parle de version patchée, je parle du patch qui permet de passer de la version 2.1.1 de SPIP à la version 2.1.2 et d’éviter de ne plus afficher tous ses articles dans la partie publique.

      J’ai vérifié le contenu de queue.log et je vois effectivement apparaître quelques « public_produire_page ».

      Peut-être la lenteur de mes sites SPIP est t-elle due à mon hébergeur alors ???

      Voiloù.

    • Le 17 octobre 2010 à 22:09, par Cedric Morin En réponse à : Cache Cool

      Il semble en effet que la lenteur soit liée à la plateforme d’hébergement. Peux tu vérifier que tu n’as pas activé la « Compression du flux HTTP » dans le panneau de configuration des fonctions avancées ?

    • Le 18 octobre 2010 à 09:40, par LudoRA En réponse à : Cache Cool

      Une fois la compression du flux http désactivé, ça s’arrange effectivement. Mes pages sont bien plus rapides à chargées quand je navigue en anonyme. Après, ce n’est pas la panacée non plus.

      Merci.

    • Le 18 octobre 2010 à 10:00, par Cedric Morin En réponse à : Cache Cool

      Le fait que la compression du flux http fasse ramer le site, et que par défaut apache ne soit pas configuré pour compresser le flux automatiquement traduisent un sous-dimensionnement CPU de la plateforme d’hébergement. Il ne sera pas possible de faire quoi que ce soit au niveau de SPIP pour améliorer cela.

      Par contre, je peux conseiller alternativement lautre.net qui est un hébergeur associatif comparable à l’APINC, et dont la plateforme technique semble mieux dimensionnée : lors des derniers tests réalisés pour la release de SPIP 2.1, le site de test y fonctionnait de façon bien plus rapide.

    • Le 18 octobre 2010 à 10:05, par Maïeul En réponse à : Cache Cool

      je confirme que l’autre.net ne pose pas de soucis pour du SPIP.

      En plus il y a une accés SSH... et ca c’est cool. Vous pouvez tester pendant un mois.

    Répondre à ce message

  • Le 29 mars 2010 à 23:45, par paolo En réponse à : Cache Cool

    Je viens de mettre Cache Cool sur notre site (que j’ai fait passer à 2.1), et l’accéleration est visible à l’oeil nu. Merci !

    Question : Sur quelques pages j’ai aussi Fastcache. Peut-être ce n’est pas la peine de garder les deux ?

    • Le 30 mars 2010 à 08:49, par Cedric Morin En réponse à : Cache Cool

      Il n’y a pas vraiment de contre-indication à utiliser fastcache & cache-cool, si ce n’est le risque que la page en cache de fastcache soit statistiquement moins fraiche.

    Répondre à ce message

  • Le 20 mars 2010 à 20:00, par ? En réponse à : Cache Cool

    Bonjour,
    Lorsque vous dites : "

    « Le plugin s’insère dans le processus de calcul des pages a mettre à jour au moyen de la fonction public_produire_page »

    Il faut mettre soi-même à jour ce processus ou c’est automatique ? S’il faut le faire soi-même, comment ?
    Merci

    • Le 20 mars 2010 à 22:26, par Cedric Morin En réponse à : Cache Cool

      Ainsi qu’indiqué dans le paragraphe sur l’installation, le version 2.0.10 de SPIP n’est pas suffisante pour faire marcher le plugin.

      Il faut utiliser le zip de la prochaine 2.0.11 : http://files.spip.org/spip/dev/SPIP-branche-2.0.zip pour mettre à jour SPIP et faire ensuite marcher le plugin sans modification.

    Répondre à ce message

  • Le 13 janvier 2010 à 15:09, par goony En réponse à : Cache Cool

    J’ai mis un petit patch sur le mien pour que les visiteurs connectés puissent en bénéficier sur les caches qui ne contiennent pas d’infos de session.

    Je ne sais pas vraiment s’il y a des failles dans ma façon de faire.

    • Le 14 janvier 2010 à 10:56, par Rainer Müller En réponse à : Cache Cool

      est-ce que tu pourrais poster le patch, cela m’intéresse, merci

    Répondre à ce message

  • Le 13 janvier 2010 à 09:41, par Rainer Müller En réponse à : Cache Cool

    Si j’ai bien compris le plugin marche uniquement si le visiteur n’est pas connecté. Est-il possible dce l’acctiver également pour les visiteurs connectés ?

    Répondre à ce message

  • Le 5 janvier 2010 à 14:10, par Ben En réponse à : Cache Cool

    « Warning : Deprecated : Call-time pass-by-reference has been deprecated in /home/racerdaily/httpdocs/plugins/cache_cool/cache_cool_options.php »

    il s’agit de la ligne :

    gunzip_page(&$page) ; // decomprimer la page si besoin

    peut-on éviter cela ?

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Analyclick - un compteur de téléchargements

    26 février 2011 – 58 commentaires

    Ce plugin permet de compter les téléchargements de documents sur son site. Il introduit une balise #URL_DOC_COMPTEUR qui va compter chaque clic fait sur ce lien. Il affiche une page de statistique. Installation Le plugin s’installe comme tout (...)

  • Plugin SPIPAL

    10 janvier 2011 – 84 commentaires

    Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles . Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il change de nom pour ne pas faire trop (...)

  • SPIP 3.0

    19 mai – 13 commentaires

    Nous avons le plaisir de vous annoncer la sortie de SPIP 3.0 ! Cette nouvelle version vous permet toujours de publier du contenu pour internet et de créer des sites avec une grande facilité. De nombreuses évolutions facilitent son utilisation (...)

  • Les Boîtes Privées

    3 janvier 2008 – 24 commentaires

    Les « Boîtes Privées » sont des cadres qui peuvent apparaître selon vos souhaits ici ou là dans la partie privée de votre site et vous donner des renseignements parfois fort utiles : Les articles au format SPIP, Les auteurs en stat, Les URLs propres, (...)

  • basicône : icônes du thème privé

    23 mars – commentaires

    Voici un jeu d’icônes pour l’espace privé de SPIP3. Pour tenter de s’accorder facilement avec toutes les couleurs possibles de l’interface, et même avec celles qui n’existent pas encore, les icônes n’utilisent que le noir et les transparences permises (...)