Performances d'une structure de répertoires volumineuse, application en réseau [fermé]

StackOverflow https://stackoverflow.com/questions/80470

  •  09-06-2019
  •  | 
  •  

Question

J'essaie de savoir quelles seraient les performances d'une structure de répertoires volumineuse si l'on accédait à des répertoires profonds sur un système de fichiers nfs partagé. La structure serait excessivement grande, avec 4 niveaux de répertoires imbriqués, chaque niveau contenant 1024 répertoires. (1024 à la racine, 1024 dans un sous-répertoire donné, etc.).

Ce système de fichiers se trouverait dans un référentiel réseau auquel les utilisateurs auraient accès pour leurs informations personnelles. Les données seraient répliquées sur plusieurs serveurs et équilibrées, mais chaque machine aurait toujours une charge décente.

Si le 4ème niveau contenait les informations recherchées par les utilisateurs, quelle serait la performance? Si tous accédaient à des sous-répertoires différents? Cela pourrait-il être résolu en mettant en cache les informations inode, ou non?

Cela fait un moment que je fais des recherches, mais je trouve principalement des informations sur des fichiers volumineux plutôt que sur des structures de répertoires volumineuses.

Était-ce utile?

La solution

Je l'ai fait au travail une fois. Je ne me souviens plus des chiffres exacts, mais je pense que c'était 8 niveaux de profondeur, 10 sous-répertoires dans chaque niveau (l'ID utilisateur 87654321 est mappé vers le répertoire 8/7/6/5/4/3/2/1 /. Il s'est avéré que n’était pas une si bonne idée, a commencé à rencontrer des problèmes avec les limites du nombre d’inodes du système de fichiers, iirc (10 ^ 10 = 10000000000 répertoires, ce qui n’était pas bon). Basculé vers plus de sous-répertoires par niveau et beaucoup moins de niveaux; les problèmes ont disparu. Votre situation semble plus gérable. Néanmoins, vérifiez que votre système de fichiers prend en charge le nombre de fichiers et de répertoires que vous envisagez.

Autres conseils

La réponse ici dépendra beaucoup de votre système d'exploitation. Pouvez-vous fournir plus d'informations? J'ai trouvé que les temps d'ouverture de fichiers sous Linux étaient raisonnables, même par dizaines de milliers, mais je n'ai pas essayé de tests avec des structures de répertoires aussi grandes que la vôtre (vous savez que 1024 à la quatrième puissance est de 1 099 511 627 776 droit "Et que c'est quelque chose comme 180 fois la population de la terre, non?)

On dirait que vous voulez juste écrire une application de test pour générer 1024 dossiers, itérés de 8 niveaux, chaque dossier contenant un certain nombre (100 - 1000?) de fichiers de 1 Ko, puis rechercher et accéder de manière aléatoire aux fichiers. .

Suivez les temps d'accès sur plusieurs passages et voyez si cela convient à vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top