sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sdx-users] cache de requête, de résultats, ou de XML ?


From: Frédéric Glorieux
Subject: [sdx-users] cache de requête, de résultats, ou de XML ?
Date: Mon, 05 Jul 2004 13:45:23 +0200
User-agent: Mozilla Thunderbird 0.7.1 (Windows/20040626)

Certains l'ont remarqué, SDX est un outil de recherche puissant. La taglib laisse libre d'agréger des pages complexes, qui peuvent devenir très coûteuses en performances. Ceci peut devenir prohibitif pour une page d'accueil.

Au vu du passage cocoon 2.1.5, j'ai sur une autre appli l'expérience de ceci :
http://wiki.apache.org/cocoon/XSPCachingWithCocoonHEAD

Il serait possible de rendre "cachable" le "générateur" SDX au sens de Cocoon, autrement dit, stocker le XML résultant d'une page XSP (la suite du tuyau est tout aussi bien stockée à la suite des transformations). Je peux confirmer que des opérations qui prennent 1 à 2 secondes à générer sont ensuite rendues en 10 à 50 milisecondes une fois cachées (peu importe la machine, retenons que la sortie d'un doc du cache ne dépends plus que de sa taille).

Il faut cependant faire attention à la clé d'unicité de cet xml. Cela conduit probablement à normaliser un peu le passage de paramètres d'une recherche, en tous cas, il est sûr qu'il faut que les paramètres de requête doivent servir à construire cette clé. Ceci signifie aussi que cela ne peut pas servir à des pages qui dépendent de la session utilisateur. La navigation dans les résultats n'est pas un problème, elle peut aussi être cachée, mais s'il on souhaite afficher "Bonjour monsieur session", il vaut mieux peindre cela dans une dernière couche qui elle ne serait pas en cache.

Le deuxième point est l'élément qui fixe le temps de validité de cette cache. En consultation, une durée fixe du genre une journée est probablement acceptable (sauf peut-être pour une actu qui change toutes les heures). En production, il faut certainement une pendule fixée sur la dernière mise à jour de la base.

Quoi qu'il en soit, cette option demanderait des tests avant d'être implantée par défaut dans la syntaxe SDX, mais si cette communication donne des idées à certains...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]