2010-11-23 5 views
1

Ich fange an, eine Website zu entwickeln, die 500.000 Bilder haben wird. Denken Sie nicht nur, dass Sie viel Speicherplatz benötigen, sondern auch, dass die Leistung der Site beeinträchtigt wird, wenn ich ein einfaches Ordnerschema verwende, zum Beispiel alle Bilder unter/images?Hunderttausende Bilder im Web-Server

Es wird zu langsam, wenn ein Benutzer /images/img13452.jpg anfordert?

Wenn die Leistung proportional zur Anzahl der Bilder im selben Ordner abnimmt, welches Schema/Architektur empfehlen Sie mir zu verwenden?

Vielen Dank im Voraus, Juan

Antwort

1

auf dem Dateisystem hängt, hängt von vielen anderen Dingen. Ein gängiger Ansatz besteht darin, die Dateinamen zu hashen und dann Unterverzeichnisse zu erstellen. Dies schränkt die Dateien pro Verzeichnis ein und verbessert daher die Performance (wiederum abhängig vom FS).

Beispiel gegeben:

ab\ 
    ab.png 
    lm\ 
    ablm.png 

cd\ 
    cd.png 
    xo\ 
     xo.png 

Sie können auch SO für mehr suchen möchten zu diesem Thema:
https://stackoverflow.com/search?q=filesystem+performance

0

, die auf dem Betriebssystem und Dateisystem abzuhängen geht aber im Allgemeinen nicht Wenn Sie die Datei mit dem vollständigen Pfad referenzieren, wird ein Leistungseinbruch angezeigt. Wo Sie vielleicht Probleme haben, ist mit Wartungs-Skripten und solchen, die eine riesige Verzeichnisliste lesen müssen. Ich finde es auf lange Sicht immer besser, eine große Anzahl von Dateien in eine Art logische Verzeichnisstruktur zu organisieren.