2008-09-17 13 views
1

Ich versuche herauszufinden, was die Leistung einer großen Verzeichnisstruktur wäre, wenn tiefe Verzeichnisse auf einem freigegebenen NFS-Dateisystem zugegriffen werden würde. Die Struktur wäre übermäßig groß, mit 4 Ebenen verschachtelter Verzeichnisse, wobei jede Ebene 1024 Verzeichnisse enthält. (1024 bei Root, 1024 in einem bestimmten Unterverzeichnis und so weiter).Leistung einer großen Verzeichnisstruktur, Netzwerkanwendung

Dieses Dateisystem befindet sich in einem Netzwerkrepository, auf das Benutzer für ihre persönlichen Informationen zugreifen würden. Die Daten würden auf mehreren Servern repliziert und Lasten ausgeglichen werden, aber trotzdem hätte jede Maschine eine angemessene Last zu jeder Zeit.

Wenn die 4. Ebene die Informationen enthält, nach denen die Benutzer gesucht haben, wie schlecht wäre die Leistung? Wenn alle auf unterschiedliche Unterverzeichnisse zugreifen würden? Könnte dies gelöst werden, indem Inode-Informationen zwischengespeichert werden, oder nein?

Ich habe schon eine Weile gesucht, aber ich finde hauptsächlich Informationen über große Dateien statt große Verzeichnisstrukturen.

Antwort

1

Ich habe das einmal bei meiner Arbeit gemacht. Ich erinnere mich nicht an die genauen Zahlen, aber ich denke, es war 8 Ebenen tief, 10 Unterverzeichnisse in jeder Ebene (Benutzer-ID 87654321 entspricht Verzeichnis 8/7/6/5/4/3/2/1 /. Das hat sich herausgestellt war nicht so eine großartige Idee, fing an, Probleme mit Dateisystem Inode Nummer Grenzen, iirc (10^10 = 10000000000 Verzeichnisse, nicht gut) zu laufen.Wechsel auf mehr Unterverzeichnisse pro Ebene und viele weniger Ebenen, ging Probleme.Ihre Situation klingt mehr überschaubar Überprüfen Sie jedoch immer noch, ob Ihr Dateisystem die Art von Datei- und Verzeichnisanzahl unterstützt, die Sie erwarten.

0

Die Antwort hier hängt stark von Ihrem Betriebssystem ab, können Sie weitere Informationen zur Verfügung stellen? Ich habe herausgefunden, dass Dateiöffnungszeiten unter Linux bis zu Verzeichnisgrößen in den kleinen Zehntausenden vernünftig waren, aber ich habe keine Tests mit Verzeichnisstrukturen, die so groß wie Ihre sind, ausprobiert (Sie wissen, dass 1024 zur vierten Potenz 1.099.511.627.776 rechts ist "Und das ist ungefähr 180 Mal die Bevölkerung der Erde, richtig?"

0

Scheint so, als würde man nur eine Test-App schreiben wollen, um 1024 Ordner zu generieren, die 8 Ebenen nach unten durchlaufen, wobei jeder Ordner eine Nummer enthält (100 - 1000?) Der Dateien 1KB Größe und dann nach dem Zufallsprinzip und Zugriff auf die Dateien.

Verfolgen Sie die Zugriffszeiten über mehrere Durchgänge und sehen Sie, ob es für Ihre Anforderungen akzeptabel ist.

0

Es befindet sich auf meine Arbeit für ein Projekt ist. Einige Layer werden mit Benutzerkonten verknüpft, während andere für Einstellungen/Widgets/Addons für diese Konten verwendet werden. Ich glaube, das Dateisystem wäre ext3 auf einem Linux-Server.

Verwandte Themen