Tuning Windows 2012 – File System, Part 4

windows-server-2012-logo1_thumb.jpgPerformance Tuning for a File Server Workload

You might be familiar with the File Server Capacity Tool (FSCT) offered by Microsoft that can help you plan your file server capacity. The tool creates many users that connect to the server and perform typical operations such as downloading files, uploading files, browsing directories, and opening files. FSCT gives a throughput score for each user count and evaluates if the server is overloaded with that many users. The highest user count without overload is the maximum number of users that the server can support under this workload.  We’ll cover a few more tuning parameters below that can further help you optimize your file server.

Registry Tuning Parameters for Servers


The following registry tuning parameters can affect the performance of file servers:


  • NtfsDisable8dot3NameCreation – HKLM\System\CurrentControlSet\Control\FileSystem\REG_DWORD)


The default in Windows Server 2012 is 2, and in previous releases it is 0. This parameter 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 user-specified name follows the 8dot3 naming convention, NTFS does not generate a short name. A value of 2 means that this parameter can be configured per volume.


Keep in mind that in Windows 2012 the system volume will have 8dot3 enabled by default, whereas other volumes will have it disabled by default in Windows Server 2012.


Changing this value does not change the contents of a file, but it avoids the short-name attribute creation for the file, which also changes how NTFS displays and manages the file. For most SMB file servers, the recommended setting is 1 (disabled). For example, you would want to disable the setting if you have a clustered file server.


In Windows Server 2012 (and Windows Server 2008 R2), you can disable 8dot3 name creation on a per-volume basis without using the global NtfsDisable8dot3NameCreation setting. You can do this with the built-in fsutil tool. For example, to disable 8dot3 name creation on volume D, run fsutil 8dot3name set d: 1 from a Command Prompt window. You can view Help text by using the command fsutil 8dot3name. If you are disabling new 8dot3 name creation on a volume that has existing data, consider stripping existing 8dot3 names from the volume. This can also be done with the fsutil tool. For example, to strip existing 8dot3 names on volume D and log the changes made, run fsutil 8dot3name strip /l 8dot3_removal_log.log /s d:\. You can view Help text by using the command fsutil 8dot3name strip.


  • TreatHostAsStableStorage –HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)


The default is 0. This parameter disables the processing of write flush commands from clients. If the value of this entry is 1, the server performance and client latency for power-protected servers can improve. Workloads that resemble the NetBench file server benchmark benefit from this behavior.


Be careful applying this setting if you have a clustered file server. You may experience data loss if the server fails with this setting enabled.

Registry Tuning Parameters for Client Computers

The following registry tuning parameters can affect the performance of client computers:


  • DormantFileLimit – HKLM\system\CurrentControlSet\Services\LanmanWorkstation\Parameters\(REG_DWORD)


The default is 1023. This parameter specifies the maximum number of files that should be left open on a shared resource after the application has closed the file. (Windows XP, Windows Vista, Windows 7, or Windows 8 only)


  • ScavengerTimeLimit – HKLM\system\CurrentControlSet\Services\LanmanWorkstation\Parameters\(REG_DWORD)


The default is 10. This is the number of seconds that the redirector waits before it starts scavenging dormant file handles (cached file handles that are currently not used by any application). (Windows XP only)


  • DisableByteRangeLockingOnReadOnlyFiles – HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\(REG_DWORD)


The default is 0. Some distributed applications lock parts of a Read-only file because synchronization across clients requires that file-handle caching and collapsing behavior is turned off for all Read-only files. This parameter can be set if such applications will not run on the system and collapsing behavior can be enabled on the client computer. (Windows XP only)


In part 5 of the Tuning Windows 2012 File Server we’ll take a look at the SMB 3.0 performance counters that are new to Windows 2012.