Wer Programme einsetzt, die in einem Unterverzeichnis sehr viele (meist kleine) Dateien erzeugen, bekommt ab einer Größenordnung von 10.000 - 20.000 Dateien enorme Performanceprobleme. Es wurden bei Novell bereits Verzeichnisse mit bis zu 70.000 Dateien gemeldet. Der Zugriff auf diese Dateien dauert dann zwei Minuten und mehr.
Die optimale Lösung ist natürlich das Löschen nicht mehr benötigter Dateien. Auch ein Splitten von Daten in verschiedene Unterverzeichnisse ist optimal, wenn es vom Programm möglich ist. Abhilfe bringt zum Teil auch das regelmäßige Purgen des Verzeichnisses.
Eine perfekte Lösung gibt es laut TID 10021744 (lokal) nicht, aber es gibt einige Ansätze, um die Reaktionszeit etwas zu verkürzen:
- alle SET-Parameter, die mit Directory Caching zu tun haben, auf Maximum bzw. Minimum stellen (je nach Parameter). Danach Server neu starten. Aus den acht bzw. sechs möglichen Parametern hier die relevanten:
Directory Cache Allocation Wait Time: möglichst klein setzen (0.1 sec), damit der Server schneller neue Directory Cache Buffers belegen kann. Directory Cache Buffer NonReferenced Delay: möglichst hoch setzen (30 oder 60 Minuten), damit die Daten nicht schon nach 5,5 Sekunden (standard) wieder aus dem Directory Cache Buffer geworfen werden Maximum Directory Cache Buffers: möglichst hoch setzen. Minimum Directory Cache Buffers: Startwert der Directory Cache Buffers bei einem Neustart des Server. Diesen sollte man auf den Wert setzen, auf den sich der Server sich nach gewisser Zeit von selbst einpendelt. - In dem Mega-Verzeichnis mehrmals DIR eingeben und jedesmal den Durchlauf abwarten, damit das komplette Verzeichnis in den Cache übernommen wird.
Der Grund für diesen lahmen Zugriff auf die Dateien liegt nicht bei der NetWare, sondern bei DOS und dessen Zugriff auf Verzeichnisse. DOS sucht per "Wild-Card" jedesmal alle Dateien durch, auch wenn die gewünschte Datei bereits nach dem ersten Vergleich gefunden wurde oder der Name exakt beschrieben wurde.
Auch das NSS File System bei NetWare 5.x und 6.x hat dieses Problem.