Bonjour.

Je trouve que passer de 7 jours à 5 minutes c'est beaucoup de différence.

Est-ce que des règles plus "moyennes" peuvent pas fonctionner ? (Etre "ok" pour les devs (même si pour eux ça sera toujours trop long) et être ok pour toi (ça dégomme pas trop tes backends)).

Bon, sinon oui, versionning des fichiers ça pourrait être pas mal quand même.

Pour inotify, j'ai des très bon retour en usage perso, mais vu que tu dis que tu as des devs de partout, je pense que tu dois avoir beaucoup de sites et du coup ça pourrait devenir vite une usine (à tester, ça peut toutefois être assez simple).

Sinon autre piste :
Si tu connais les IP des devs => pas de cache pour eux, seulement pour les visiteurs.

Tu peux éventuellement faire des checks sur cookies je pense.
http://nginx.com/resources/admin-guide/caching/
La dernière partie me semble adaptée à tes besoins.
Tu leurs fais mettre un cookie "à eux"/"à toi" et eux n'ont pas de cache.



Le 10/02/2015 11:47, Julien Escario a écrit :
Bonjour,
Maintenant que je parviens à gérer la durée de vie du cache nginx, je me
heurte à un nouveau problème : son invalidation conditionnelle.

Je m'explique : nous avons mis en place un frontal qui ne fait que du
cache de ressources statiques avec nginx. Ca soulage les backend web et
c'est plus rapide (on met le cache en ramdisk et on regarde pour du
memcached).

Tous contents, on est partis sur des valeurs astronomiques de cache des
ressources statiques (genre 7 jours). Rapidement, on s'est fait
engueulés parce que machin qui avait rajouté trois couleurs sur son
bandeau de pub devait attendre 7 jours pour que ce soit visible.

Alors on a rajouté la directive proxy_cache_bypass qui permet
d'invalider une ressource cachées via une requête spécifique.

Très bien, sauf qu'un jour on nous a demandé de pouvoir invalider le
cache d'un grand nombre de fichiers d'un coup et on a dû scripter le
truc avec du curl.

J'aimerais bien passer la seconde là dessus en invalidant le cache d'un
fichier statique automatiquement lorsque le fichier change sur le disque.
La première qui me vient en tête est inotify : on monitore le filesystem
et on génère une requête d'invalidation à chaque fois qu'un fichier
statique change (avec le timestamp unix).

Ca paraît faisable sur le papier mais je me demande si mon idée ne va
pas se transformer en usine à gaz.

Pour le moment, on a mis un cache à 5 min mais du coup, le cache
commence gentiment à perdre de son intérêt, à part en cas de pic de
consultation des sites.

Du coup, est-ce quelqu'un a déjà rencontré/résolu ce type de
problématique et peut partager ses conclusions ?

Merci d'avance,
Julien
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à