<?xml version="1.0"?>
<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.1b1//EN" "../../../../dtd/website.dtd" [
<!ENTITY conf-entrepot SYSTEM "entrepot.xml" NDATA XML>
<!ENTITY configuration SYSTEM "index.xml" NDATA XML>
<!ENTITY def-entrepot SYSTEM "../introduction/entrepots.xml" NDATA XML>
<!ENTITY index SYSTEM "../configuration.xml" NDATA XML>
]>
<webpage id="charge_concepts_intro"> 
  <head> 
	 <title>Quelques concepts à propos de la montée en charge de SDX</title> 
	 <titleabbrev>Concepts</titleabbrev> 
	 <author> 
		<firstname>Martin</firstname> 
		<surname>Sévigny</surname> 
		<affiliation> 
		  <orgname>AJLSM</orgname> 
		</affiliation> 
	 </author> 
	 <revhistory> 
		<revision> 
		  <revnumber>1.0</revnumber> 
		  <date>2003/01/29</date> 
		</revision> 
	 </revhistory> 
  </head> 
  <para>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.</para><section><title>Serveur Web, moteur de servlets</title><para>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.</para><para>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.</para></section><section><title>Performances en indexation</title><para>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&#xA0;:</para><orderedlist><listitem><para>La définition des bases de documents et entrepôts impliqués (dans le fichier <filename>application.xconf</filename>).</para></listitem><listitem><para>La définition du pipeline d'indexation (dans le fichier <filename>application.xconf</filename> ou dans la XSP d'indexation), et les sources des différentes transformations utilisées (XSLT, filtre SAX, etc.).</para></listitem><listitem><para>Le modèle (DTD, schéma, exemple de documents) des documents indexés.</para></listitem><listitem><para>La taille moyenne des documents indexés, de même que leur structure moyenne.</para></listitem><listitem><para>Le nombre de documents indexés.</para></listitem><listitem><para>Les paramètres de l'indexation, comme le nombre de documents par groupes, le nombre de documents indexés avant optimisation des index.</para></listitem></orderedlist><para>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.</para><para>Il y a essentiellement trois phases dans l'indexation&#xA0;: 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.</para><para>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.</para></section> 
</webpage> 
