On 18 Sep 2001, at 8:50, Thomas Franz wrote:
Hallo,
ich koennte ein paar Tipps gebrauchen, an welchen Stellen im System man die Performance verbessern kann, wenn man sehr viele Dateien in einem Verzeichnis hat ( 100000 - 200000).
Es laeuft eine Anwendung die halt eine solche Anzahl von Dateien produziert. Die Anwendung bietet keine Moeglichkeit die Dateien auf mehrere Verzeichnisse zu verteilen. Es egeben sich dann aber (Zeit-)Probleme bei "ls" und beim Zugriff ueber Samba (auch bei Dateizugriff mit vollstaendigem Dateinahmen).
Mehr Hauptspeicher? Kernelparameter? Dateisystem? Wer hat Hinweise oder links?
Tja, da hast Du IMO in einen Problembereich hineingestoßen. Hier bei uns sind in diversen Verzeichnissen tausende von Files abgelegt. Dabei ist mir aufgefallen, daß der direkte Zugriff auf eine Datei z.B. mittels "ls -l Dateiname" schnell ist. Schwieriger sind Zugriffe mit Wildcards "ls -l A*". Ist ja auch irgendwie klar. Wir versuchen hier immer, die Zahl der Dateien pro Verzeichnis überschaubar zu halten, indem wir nicht mehr benutzte Dateien älter als X-(Tage/Stunden) in Unterverzeichnisse moven. Alle Batchprogramme hier haben keine Probleme, da sie sowohl ihre Workdateien als auch Logfiles etc. immer direkt mit Namen ansprechen. Performance Maßnahmen sind IMO nicht nötig, wenn man den Dateinamen genau kennt. Schwieriger sind z.B. so Aufräumaktionen, die eine evtl. große Zahl an Dateien erfassen. Aber da ist mir auch keine Lösung bekannt. Braucht Dein Programm wirklich diese Riesenzahl im Zugriff? Oder sind davon nicht nur einige wirklich in Gebrauch und der Rest nicht mehr? In dem Fall würde ich eine Archivierungsstrategie entwickeln. Ansonsten kann ich Dir da auch nicht helfen. Andreas