Page précédente Page suivante Table des matières

4. Performances de Leafnode

Du propre aveu de l'auteur leafnode scales very badly . Ses performances se dégradent assez vite lorsque le nombre de groupes lus augmente. Toutefois, ceci ne concerne pas un utilisateur seul, mais plutôt le cas ou il est utilisé comme mini-serveur sur un petit intranet.

Certaines versions pré-compilées de leafnode posent toutefois de serieux problèmes de performances. Verifiez le fichier de log, où arrivent les messages de leafnode (en géneral news.log), en recherchant des messages d'erreur du genre

writev() for .overview failed: Invalid argument

leafnode et fetch peuvent produire de tels messages. Ils indiquent que leafnode se plante en écrivant ses .overview qui lui servent d'index pour chaque groupe. Ces .overview restent alors le plus souvent vides, et chaque fois que votre lecteur de news demande a leafnode le contenu d'un groupe, celui-ci cherche à reconstituer le .overview correspondant et passe donc à nouveau en revue tous les articles déjà présents dans le groupe, d'où une activité intense du disque dur. Evidemment, plus le newsgroup compte d'articles et plus l'accès au groupe est long.

Ceci induit un autre problème beaucoup plus génant avec texpire : il n'efface pratiquement aucun article, et le /var/spool/news grossit démesurément.

La raison en est que texpire se base sur la date de dernière lecture d'un article (c'est à dire la date de dernier accès du fichier correspondant à l'article) pour l'effacer, et non pas sur la date d'"arrivée" de l'article dans le spool : si vous avez spécifié un délai d'expiration de 10 jours, un article ne sera effacé que 10 jours après qu'il ait été lu pour la dernière fois.

Or, la reconstitution par leafnode des .overview implique l'accès à chacun des articles d'un groupe, tout comme si vous les lisiez vous-même. Tout se passe donc comme si tous les articles d'un groupe étaient relus chaque fois que vous y accedez et que leafnode tente d'en reconstituer l'.overview. Par conséquent, le delai d'expiration n'arrive jamais à écheance, votre spool grossi de plus en plus, et les accès à chaque groupe deviennent de plus en plus longs puisqu'il y a de plus en plus d'articles à relire à chaque fois.

La solution à ce problème est tout simplement de recompiler leafnode à partir des sources, ou de re-installer un binaire plus récent.

Un autre problème que vous pouvez rencontrer est la présence de messages suivants :

expire : bad overview line for <nom de groupe>/<numero d'article>

qui surviennent lorsque texpire tente d'expirer un article que vous avez lu. Je n'ai hélas pour l'instant pas de réponse à ce problème, qui ne semble toutefois pas empêcher texpire de fonctionner correctement.


Page précédente Page suivante Table des matières