Ich habe ein Verzeichnis mit ca. 100000 kleinen Dateien (jede Datei besteht aus 1-3 Zeilen, jede Datei ist eine Textdatei). In der Größe ist das Verzeichnis nicht sehr groß (<2 GB). Diese Daten befinden sich auf einem professionell verwalteten NFS-Server. Auf dem Server läuft Linux. Ich denke, das Dateisystem ist ext3, aber ich weiß es nicht genau. Außerdem habe ich keinen Root-Zugriff auf den Server.
Diese Dateien sind das Ergebnis eines groß angelegten wissenschaftlichen Experiments, über das ich keine Kontrolle habe. Ich muss jedoch die Ergebnisse analysieren.
Jede E / A-Operation / -Verarbeitung in diesem Verzeichnis ist sehr, sehr langsam. Das Öffnen einer Datei (Fopen in Python), das Lesen aus einer geöffneten Datei und das Schließen einer Datei sind alle sehr langsam. In bash ls, du usw. nicht funktionieren.
Die Frage ist:
Was ist die maximale Anzahl von Dateien in einem Verzeichnis in Linux, so dass es praktisch ist, zu verarbeiten, zu öffnen, zu lesen usw.? Ich verstehe, dass die Antwort von vielen Dingen abhängt: fs-Typ, Kernel-Version, Serverversion, Hardware usw. Ich möchte nur eine Faustregel, wenn möglich.