Everything about Web and Network Monitoring

Home > 101 Reasons To Choose Monitis > Tuning Windows 2012 – File System, Part 2

Tuning Windows 2012 – File System, Part 2

In the first article about tuning the Windows 2012 File System, we focused on the SMB model. In this article we’ll discuss tuning parameters for the NFS model that provides a file-sharing solution for  mixed Windows and UNIX environments. The NFS model consists of client computers and a server. 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.

 

Let’s take a look at the specific tuning parameters for 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.

  • 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.

 

That’s about all the parameters you can use to optimize the NFS File System on your Windows 2012 server. In the next article we’ll look at some of the client settings that you can configure.

 

 

 

Ard-Jan Barnas

About Ard-Jan Barnas

Ard-Jan is a highly technical writer with deep knowledge into the industry. He has an international background and always brings forth articles that are not just technical but with a mix of business application. This encompassing approach to technology married to business is a welcome approach to writing.

Web & Cloud
Monitoring