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 Novell Knowledge Base TID 2917642 nicht, aber es gibt einige Ansätze, um die Reaktionszeit etwas zu verkürzen:
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. |
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.
Das NSS File System wird dieses Problem übrigens nicht beseitigen.