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).



Plugin Cache Cool pour SPIP 2.0.10+patch

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_queuepour 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_queueJe 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_queuepropose 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 ?
# Le 7 janvier 2011 à 11:42, par Cedric Morin
En réponse à : Cache Cool
oui tout à fait, n’hésites pas.
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() startNov 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.logcontient bien des références au jobpublic_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