The following sections provide information about the Microsoft Services for Network File System (NFS) model for client-server communication.
Services for NFS Model Overview
Microsoft Services for NFS provides a file-sharing solution for enterprises that have a mixed Windows and UNIX environment. This communication model consists of client computers and a server (see Figure 13). Applications on the client request files that are located on the server through the redirector (Rdbss.sys and NFS miniredirector Nfsrdr.sys). The miniredirector uses the NFS protocol to send its request through TCP/IP. The server receives multiple requests from the clients through TCP/IP and routes the requests to the local file system (Ntfs.sys), which accesses the storage stack.
Figure 13. Microsoft services for NFS model for client-server communication
Tuning Parameters for NFS File Servers
The following registry-tuning parameters can affect the performance of NFS file servers:
OptimalReads
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 0. Determines whether files are opened for FILE_RANDOM_ACCESS or for FILE_SEQUENTIAL_ONLY, depending on the workload I/O characteristics. Set this value to 1 to force files to be opened for FILE_RANDOM_ACCESS. FILE_RANDOM_ACCESS prevents the file system and cache manager from prefetching.
For more information about File Access Services, see the File Servers section under Resources later in this guide.
RdWrHandleLifeTime
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 5. Controls the lifetime of an NFS cache entry in the file handle cache. This parameter refers to cache entries that have an associated open NTFS file handle. Actual lifetime is approximately equal to RdWrHandleLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
RdWrNfsHandleLifeTime
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 5. Controls the lifetime of an NFS cache entry in the file handle cache. This parameter refers to cache entries that do not have an associated open NTFS file handle. Services for NFS uses these cache entries to store file attributes for a file without keeping an open handle with the file system. Actual lifetime is approximately equal to RdWrNfsHandleLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
RdWrNfsReadHandlesLifeTime
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 5. Controls the lifetime of an NFS Read cache entry in the file handle cache. Actual lifetime is approximately equal to RdWrNfsReadHandlesLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
RdWrThreadSleepTime
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 5. Controls the wait interval before running the cleanup thread on the file handle cache. Value is in ticks, and it is non-deterministic. A tick is equivalent to approximately 100 nanoseconds. Minimum is 1 and maximum is 60.
FileHandleCacheSizeinMB
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 4. Specifies the maximum memory to be consumed by file handle cache entries. Minimum is 1 and maximum is 1*1024*1024*1024 (1073741824).
LockFileHandleCacheInMemory
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 0. Specifies whether the physical pages that are allocated for the cache size specified by FileHandleCacheSizeInMB are locked in memory. Setting this value to 1 enables this activity. Pages are locked in memory (that is, they are not paged to disk), which improves the performance of resolving file handles, but reduces the memory that is available to applications.
MaxIcbNfsReadHandlesCacheSize
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 64. Specifies the maximum number of handles per volume for the Read data cache. Read cache entries are created only on systems that have more than 1 GB of memory. Minimum is 0 and maximum is 0xFFFFFFFF.
HandleSigningEnabled
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 1. Controls whether handles that are given out by NFS File Server are signed cryptographically. Setting it to the value 0 would cause handle signing to be disabled.
RdWrNfsDeferredWritesFlushDelay
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 60. Soft timeout that controls the duration of NFS V3 UNSTABLE Write data caching. Minimum is 1, and maximum is 600. Actual lifetime is approximately equal to RdWrNfsDeferredWritesFlushDelay multiplied by RdWrThreadSleepTime.
CacheAddFromCreateAndMkDir
HKLM\System\CurrentControlSet\Services\NfsServer\Parameters\ (REG_DWORD)
Default is 1 (enabled). Controls whether handles that are opened during NFS V2 and V3 CREATE and MKDIR RPC procedure handlers are retained in the file handle cache. Set this value to 0 to disable adding entries to the cache in CREATE and MKDIR code paths.
AdditionalDelayedWorkerThreads
HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Executive\ (REG_DWORD)
Increases the number of delayed worker threads that are created for the specified work queue. Delayed worker threads process work items that are not considered time-critical and that can have their memory stack paged out while waiting for work items. An insufficient number of threads reduces the rate at which work items are serviced; a value that is too high consumes system resources unnecessarily.
NtfsDisable8dot3NameCreation
HKLM\System\CurrentControlSet\Control\FileSystem\ (REG_DWORD)
Default is 0. Determines whether NTFS generates a short name in the 8dot3 (MS-DOS) naming convention for long file names and for file names that contain characters from the extended character set. If the value of this entry is 0, files can have two names: the name that the user specifies and the short name that NTFS generates. If the name that the user specifies follows the 8dot3 naming convention, NTFS does not generate a short name.
Changing this value does not change the contents of a file, but it avoids the short-name attribute creation for the file, and it changes how NTFS displays and manages the file. For most file servers, the recommended setting is 1.
NtfsDisableLastAccessUpdate
HKLM\System\CurrentControlSet\Control\FileSystem\(REG_DWORD)
Default is 1. This system-global switch reduces disk I/O load and latencies by disabling the updating of the date and time stamp for the last file or directory access.
MaxConcurrentConnectionsPerIp
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rpcxdr\Parameters (REG_DWORD)
The default value of the MaxConcurrentConnectionsPerIp parameter is 16. You can increase this value up to a maximum of 8192 to increase the number of connections per IP address.
Share with your friends: |