NSS has it"s own caching and parameters to be set during the loading of the NSS modules. The following are parameters which tunes the performance of NSS:
a. cachebalance b. fileflushtimer c. bufferflushtimer d. closedfilecachesize e. allocahead
"Cachebalance" controls how much memory is available for NSS to use for cache. The default for SP2 is just 10%, so increasing it to 80% or 85% puts us on a more level playing field with the legacy file system, which gets 100% (unless NSS is loaded, in which case legacy gets the remainder - 90% if NSS is using default). This percentage should be set to the percentage of total volume space taken from NSS volumes (i.e. 10GB FAT and 90GB NSS would be /cachebalance-85).
Increasing "fileflushtimer" and "bufferflushtimer" from their defaults will not increase or optimize performance. In fact increasing them can cause problems with off-lining volumes in clusters and can even cause data loss. These should not be changed from their defaults.
"Closedfilecachesize" dictates how many closed files are kept in cache. This can significantly improve performance on NSS. For NetWare 5.x this should be set to 8192, whereas for NetWare 6 the default is 50000. On NetWare 6 this can be increased to 100000 without a problem, but if it is increased to 100000, then the "OpenFileHashShift" should be increased from 15 to 17.
"Allocahead" is used to allocate extra blocks ahead of time in anticipation of new files being larger than the 4k block size, which helps performance with larger files but hurts performance with small files. Since we know most of the files will be small, we turn off allocahead. This is acceptable on NetWare 5, but should not be done on NetWare 6.
To activate these parameters, you can issue the following command at the startup of NSS, or place it in the AUTOEXEC.NCF file:
nss /cachebalance=80 /closedfilecachesize=8192 /allocahead=0