cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: Vignettes et cache
Date Thu, 05 May 2005 18:33:15 GMT
Frédéric Glorieux wrote:

>
> Sylvain,
>
> merci beaucoup pour ce message
>
>>> <http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/reading/ImageReader.html>

>>
>>
>
> > http://www.grumpykitty.biz/index.html
> >  (origine des fonctions de
> > changements de couleur).
>
> très joli
>
>>  http://www.ormaz.it/
>> http://cocoongallery.sourceforge.net/
>
>
> C'est intéressant, mais cela ne dépasse pas le millier d'images ?
>
>> La limite de 1000 est la zone tampon en mémoire. Au delà de cette 
>> limite, les entrées plus anciennes sont swappées sur disque.
>
>
> S'il s'agit des vignettes, pourquoi pas. Mais prenons le cas d'images 
> retaillées (par ex 800px) 200 à 300k, je suis inquiet de les voir 
> s'écrire dans un seul fichier de swap, je préfère les avoir quelque 
> part. Car au cas où l'on constate des problèmes en exploitation, cela 
> permet de faire des coupe-circuit par Apache direct.


Pour répondre au problème du fichier de swap, on peut utiliser 
l'implémentation filesystem du cache, qui crée un fichier par entrée, 
avec quelques niveaux de répertoires pour éviter un nombre trop 
important de fichiers dans un seul répertoire. C'est l'approche utilisée 
par VNUnet pour un grand nombre de sites de gros volume et à tres fort 
trafic, en combinaison avec mod_cache. L'utilisation de reiserfs sur 
Linux donne d'excellentes performances, mais cette approche est 
déconseillée sur windows qui n'arrive pas à tenir la cadence.

>>> Sur le modèle de l'action copy-source de Sylvain Wallez, j'ai 
>>> implémenté un mécanisme très simple de stockage contrôlé en système 
>>> de fichier, qui s'informe au passage si l'image source a été modifiée.
>>
>
> Si j'ai bien compris, l'action "copy-source" copie un fichier à chaque 
> fois qu'elle est executée ?


Oui.

>> J'ai l'impression que laisser le cache Cocoon faire son boulot tout 
>> seul comme un grand est la meilleure solution ;-)
>
>
> Refaire une cache est évidemment idiot. Mon alternative était la suivante
>
>  * prégénération : ImageMagick, robuste éprouvé, mais mal commode pour 
> l'utilisateur final, pareil en dev (en fait la vignette je la voulais 
> en 150 plutôt qu'en 96)
>  * cocoon à la volée : commode, moins d'install, très bien pour 
> prototyper, mais déjà prévoir 256 Mo en -Xmx, incertitude de 
> comportement sur les masses
>
> D'où l'envie d'une "prégénération à la volée", ou plus exactement, 
> "génération à la demande". Cela pourrait d'ailleurs se transformer en 
> une action qui appelle ImageMagick au cas où.


La différence entre le cache cocoon sur filesystem et une prégéneration 
est essentiellement le nom des fichiers (un code cryptique dans le cas 
du cache, un nom en rapport avec l'URL dans le cas de la prégénération).

On est ici dans un cas particulier où le contenu renvoyé ne dépend que 
de l'URL de la requête, et pas d'autres paramètres comme la langue, 
l'état de la session ou autres. Un utilisateur (désolé, je n'ai pas 
retrouvé le message original) a expliqué une approche intéressante dans 
cette configuration : une implémentation particulière de pipeline est 
utilisée, qui écrit sa production sur disque en utilisant l'URL comme 
chemin de fichier. En frontal de Cocoon, un httpd utilise mod_rewrite : 
si le fichier demandé existe, il est servi par httpd, autrement on 
redirige sur Cocoon, et le fichier sera créé. Génération à la demande ! 
Malgré tout, les documents d'origine sont amenés à changer, et c'est la 
partie de l'appli qui gère le contenu qui efface les fichiers prégénérés 
lorsque leur source change.

J'ai l'impression que ça ressemble à ce que tu décris.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://apache.org/~sylvain            http://anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message