Bertrand Lemaître a écrit :

Bonjour,

Pour des raisons de performances on me conseille de transformer les 26000
entrées sous le /home en adoptant une arborescence de type
/home/d/u/dupont pour le login dupont.

Ce quelque soit le file system (ext2, ext3,...).

Qu'en pensez vous ?
Absolument d'accord
Il m'est arrivé de programmer des utilitaires qui, en particulier permettent de rechercher des fichiers. La méthode générale est la suivante : on part du point de départ, on charge la liste des dossiers et fichiers, on regarde si c'est bon sinon on parcours les sous-répertoires, .... et ainsi de suite Dans ton cas (26000 entrées dans un seul répertoire) ca va demander enormément de resources ( 26000 * 254 en supposant qu'un fichier ne représente que 254 octets en mémoire, ce qui est sous estimé = 6 Mo).
-> swap -> ralentissement de la machine
Je pense q'un ls (ou un find, ... ) procéde de la sorte.
De plus, je crois que les entrées dans la fat (ou autre nom) sont stockées par répertoire. Ce qui fait que chaque programme qui va ouvrir un répertoire dans /home, va potenitellement devoir parcourir 36000 entrées de la table d'allocation. C'est embettant pour samba par exemple... Cela depend du système de fichiers utilisé. Pour info, c'est la méthode utilisé par cégetel (je sais ce n'est pas une référence ;) ) pour les pages perso de leurs abonnés ( avec des serveurs sous debian ( cat /etc/apt/sources.list : deb file:/distrib/debian dist-20040423 plateforme) ).

Je n'ai pas trouvé de conseil sous
/usr/src/linux/Documentation/filesystem


Merci pour vos conseils.



Répondre à