Forums Neueste Beiträge
 

Wie viele Dateien kann linux in einem Ordner verwalten?

06/11/2007 - 08:41 von Merlin Morgenstern | Report spam
Hallo zusammen,

ich betreibe eine kleine Reisecommunity bei der Mitglieder Bilder
hochladen können. Mitlerweile sind es bereits 40.000 Bilder.

Die gegenwàrtige Dateistruktur führt zu mehreren Problemen. Ich würde
diese gerne vereinfachen.

Momentan sieht sie so aus:

(LC steht für Làndercode, es gibt 230 verschiedene)
/gallery/LC/pictures/
/gallery/LC/pictures_300/
/gallery/LC/pictures_600/
/gallery/LC/pictures_thumbs/

Insgesamt sind dies also 230*4 920 Verzeichnisse und 160.000 Bilder
da jedes Bild in verschiedenen Größen abgelegt ist um dem user
schnellere Ladezeiten zu ermöglichen.

Dies führt vor allem dazu, dass Backups in Form von Tar archieven eine
ewigkeit brauchen zum entpacken (ca 1h auf aktueller Hardware). Das geht
jetzt noch einigermaßen, aber was ist wenn es statt 40.000 Bildern
100.000 oder mehr werden?

Ich habe mir überlegt, dass ich evtl. die Làndercodes abschaffe und
direkt in die Verzeichnisse kopiere:

/gallery/pictures/
/gallery/pictures_300/
/gallery/pictures_600/
/gallery/pictures_thumbs/

Das wàren dann in diesem Fall nur noch 4 Verzeichnisse statt 920.

Ich befürchte allerdings das Linux nicht so viele Bilder in einem
Verzichniss ansprechen kann? Was ist wenn ein Verzeichniss 500.000
Bilder enthàllt? Geht das dann noch? Und wie schauts mit der Performance
aus?

Das System làuft auf suse linux 9.1, wobei auf dem Entwicklungsserver
nur 8.1 làuft. Ein upgrade möchte ich vorerst vermeiden.

Vielen Dank für jegliche infos und tipps.

Beste Grüße,

Merlin
 

Lesen sie die antworten

#1 Arne Schmitz
06/11/2007 - 09:05 | Warnen spam
Merlin Morgenstern schrieb:

Ich befürchte allerdings das Linux nicht so viele Bilder in einem
Verzichniss ansprechen kann?



Zwei Dinge: Erstens hàngt das vom Dateisystem ab. Mehr dazu zum Beispiel auf
Wikipedia [1].

Zweitens ist es sehr viel effizienter eher wenige tausend Dateien pro
Verzeichnis zu speichern, als viele. Sonst dauert der Dateizugriff ewig
lange, da für Dateioperationen das Verzeichnis eingelesen werden muss.

Abhilfe kann da ein Hashing schaffen, wie es viele Proxy-Caches verwenden.
D.h. bilde den Dateinamen auf einen Verzeichnisnamen ab, der z.B. ein
Buchstabe aus A-Z ist. Das ganze kann man dann wieder schachteln, um einen
Baum zu erstellen. Mit zwei Stufen kannst du schon eine Menge Dateien
adressieren.

Viele Grüße,

Arne

[1] http://de.wikipedia.org/wiki/Ext2 etc.

[ PGP key FD05BED7 http://www.root42.de/ ]

Ähnliche fragen