Cache-cache Internet

  l’auto-tampon(neuse)s sur le Net


L’informatique fait beaucoup appel au cache, pour désigner un stockage temporaire à proximité de l’utilisateur final, pour lui éviter d’attendre pour une information déjà accédée : mais cela peut causer soucis (apparents) sur un site dynamique.

En particulier le serveur Spip utilise deux niveaux de cache, des squelettes pré-compilés, et des pages Internet prêtes à (re)servir, qui peuvent se télescoper avec les caches locaux aux navigateurs clients, qu’il peut vous être nécessaire de "vider" en demandant l’actualisation (F5) de la page courante.

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Les divers caches

- sur le serveur : pour répondre à la charge de lecture, les disques des serveurs Web sont souvent équipés d’un cache important ; cela peut parfois vous expliquer le retard de votre site a prendre en compte une modification de fichier transmise par FTP (mais pas par Skeleditor !).
- géré par SPIP : celui-ci [1] est auto-géré par votre site, grâce au génie de Spip ; vous pouvez le vider dans l’interface privée (menu Maintenance), forcer le recalcul de la page courante, ou l’annuler dans vos squelettes (par la balise #CACHE{0], par le Couteau Suisse), au moins le désactiver temporairement (nouveauté Spip 3).
- sur le navigateur client : IE est particulièrement efficace pour enregistrer toutes les pages Internet lues, et en encombrer votre disque dur : à vous de contrôler celui-ci.
- sur un proxy intermédiaire : d’autres dispositifs (selon la configuration locale de votre réseau, le pare-feu..) peuvent également interférer...

D’autres soucis, cassés par Connexion impossible.... cache hé ?...

 Retour sur le cache de SPIP

SPIP intègre d’office une gestion fort élaborée du cache des pages a servir, enregistré sur le serveur Apache à plusieurs étapes de l’interprétation des pages ; ceci permet d’optimiser très sérieusement la charge du système, en particulier pour des sites avec beaucoup de pages, mais peu de mises-à-jour.

Pour être plus précis sur ces deux niveaux de cache, il existe le cache des squelettes, et le cache des pages : le second est accessible par var_mode=calcul (premier appui sur le bouton recalcul de la page, et forcer le var_mode=recalcul du squelette nécessite de recommencer....


L’espace du cache ./tmp/cache/ peut donc comporter énormément de fichiers [2], sans oublier les caches intermédiaires de calcul ./local/ sur le serveur [3] pour consolider les fichiers .css et .js, et servir rapidement des images retaillées :

JPEG - 56.2 ko
L’ecran privé de vidage des caches...

Optimiser l’utilisation du cache SPIP ? C’est possible, si vous savez ce que vous faites, et sans oublier les conséquences sur la charge du serveur de bases de données... vous pourriez vous faire suspendre votre site !

JPEG - 17.4 ko
Sans "tuer" votre site, de mauvais paramétrages risquent néanmoins de perturber son fonctionnement, et d’écrouler le serveur qui vous héberge....

Si vous aller Utiliser le canal IRC le robot Edgard vous répondra volontiers sur le @cache

Vide ton cache SPIP (via l’espace privé) et le cache navigateur. Si ils y sont encore, supprime le répertoire tmp/cache/ et les fichiers tmp/meta_cache.php et tmp/mysql.out. Pour ne pas utiliser le cache en phase de développement : define(’_NO_CACHE’, -1) dans config/mes_options.php


De façon analogue, une extension de l’espace autorisé se règle simplement dans mes_options par

  1. // Autoriser un cache de 50Mo
  2. $quota_cache = 50;

Télécharger

Ou plus de réglages dans la lame d’Administration du Couteau Suisse.

JPEG - 88.9 ko
La lame "SPIP et le Cache" du CS

Peut-être un jour une page de conseils, si quelqu’un possède l’expérience et le recul nécessaires..
Voir aussi le nouveau symptôme décrit en Connexion impossible.... cache hé ?.

 Et les images cachées

SPIP gère aussi les images en cache, à la fois pour préparer le cache des pages, et pour optimiser le fonctionnement du navigateur en préparant l’image à la bonne taille (si précisée dans le squelette [4]), ce qui évite à votre browser de devoir la retraiter.
Ce cache est organisé dans le dossier ./local/ : c’est lui que vous videz par le secondchoix du "cache des images", ou par la var_mode=images...


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1Deux niveaux : voir ci-dessous !

[2A titre d’exemple, SPN avec 280 pages environ, générait ce matin 13Mo pour plus de 2800 fichiers fragments de pages...

[3Seulement 500 fichiers générés... à partir d’une centaine d’images jointes (peu optimisées et régulées ;-) pour environ 9Mo.. retraitées par GD2 : voir Configuration initiale et Configurer SPIP 2 : 3. Fonctions avancées.

[4Conseil :dans vos squelettes, précisez la taille d’affichage attendue pour l’image affichée au final, pour optimiser les calculs et la bande passante : ce qu’automatise le modèle interne img.. de SPIP.


Liens visibles seulement pour les inscrits.

Article publié le 8 décembre 2012, et actualisé en août 2017 .

Répondre à cet article