Télécharger
    Installer
    Présentation
    Configuration
    Indexation
    Recherche
    OAI
    Javadoc
    Référence API-XSP
    Migration
    Schemas
    Performances
      +Concepts <-
          A améliorer
       Mesures


SDX

Quelques concepts à propos de la montée en charge de SDX

SDX est une plate-forme qui utilise un grand nombre de composantes et qui peut elle-même être utilisée de nombreuses façons. C'est pourquoi il est toujours essentiel de bien indiquer ce qui est mesuré (et donc ce qui ne l'est pas) lorsqu'on publie des résultats suite à des tests de performance. Afin de faciliter cete démarche, nous présentons ici quelques informations sur les principaux concepts reliés à la mesure de performances pour des applications Web et en particulier SDX.

Serveur Web, moteur de servlets

L'architecture sous-jacente à SDX fait intervenir un serveur Web ainsi qu'un moteur de servlets. Si on veut vraiment mesurer la performance de SDX, il faudrait réussir à isoler ces deux composantes.

Toutefois, l'intérêt est mineur, car en même temps il s'agit d'une architecture nécessaire à SDX, alors aussi bien la compter dans les tests. Par ailleurs, il semble que les temps requis par ces outils sont très courts par rapport à ceux pris par SDX lui-même, donc relativement négligeables.

Performances en indexation

Lorsqu'on veut mesurer la performance en indexation de SDX, il est important de fournir le plus d'information possible sur la méthode utilisée pour mesurer mais surtout sur la nature de l'indexation. A ce sujet, voici quelques informations à fournir :

  1. La définition des bases de documents et entrepôts impliqués (dans le fichier application.xconf).

  2. La définition du pipeline d'indexation (dans le fichier application.xconf ou dans la XSP d'indexation), et les sources des différentes transformations utilisées (XSLT, filtre SAX, etc.).

  3. Le modèle (DTD, schéma, exemple de documents) des documents indexés.

  4. La taille moyenne des documents indexés, de même que leur structure moyenne.

  5. Le nombre de documents indexés.

  6. Les paramètres de l'indexation, comme le nombre de documents par groupes, le nombre de documents indexés avant optimisation des index.

L'idéal est de pouvoir fournir des données sur les performances d'indexation lors de l'indexation des premiers documents, des derniers, et à certaines étapes. En effet, on sait que les performances se dégradent à peu près de façon linéaire, mais d'autres données permettraient de le confirmer.

Il y a essentiellement trois phases dans l'indexation : une phase d'éxécution du pipeline d'indexation pour chaque document, une phase d'indexation proprement dite par Lucene, pour chaque document, et enfin une phase d'optimisation des index par Lucene, qui a lieu après un certain nombre de documents (paramétrable). Malheureusement, il est assez difficile de mesurer les performances en dissociant ces trois phases, mais il est certain que si on arrive à le faire, les données sont encore plus judicieuses.

Côté matériel, la rapidité des disques peut faire une différence. La mémoire vive a un impact sur le nombre de documents que SDX peut indexer avant d'optimiser les index, car les documents ajoutés sont indexés par groupes dans un index en mémoire, avant d'être optimisés et unifiés avec l'index principal sur le disque. Moins on optimise, plus rapide est l'indexation. Ainsi, une plus grand quantité de mémoire permettra d'optimiser moins souvent.



Auteur : Martin Sévigny ( AJLSM ) - 2003/01/29