Last Update: Nov 19, 2024 | Published: Jan 07, 2009
How can I improve performance on a Windows Server 2003 file server?
Windows Server 2003 is pre-configured with some settings that might cause performance overhead.
Caution: Although these configurations changes were tested by myself and other users, modifying your settings without testing them first might cause problems on your network.
These settings were tested with only one server in the network. I have no knowledge about the effect of these settings on a multiple-server network.
Make sure you have a full and working backup of the system state and the registry of all the servers that you intend to tweak BEFORE you actually perform the changes.
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSessionManagerMemoryManagement
Edit (or create if non-existent) an entry of PagedPoolSize and set the value to 192,000,000.
Windows normally calculates the paged and non paged pool memory sizes using complex algorithms based on physical memory size. These settings allow you to override and manually specify values.
HKEY_LOCAL_MACHINESystemCurrentControlSetControlFileSystem
Edit (or create if non-existent) an entry of NtfsDisable8dot3NameCreation and set the value to 1.
You can increase NTFS performance if you disable 8.3 name creations (Some 16bit programs may have trouble finding Long File Names. Don’t set this option if you wish to install Norton NT Utilities).
HKEY_LOCAL_MACHINESystemCurrentControlSetControlFileSystem
Edit (or create if non-existent) an entry of Disablelastaccess and set the value to 1.
This will disable the last access information written to each file as it is accessed. The result is faster hard disk file read-access.
HKEY_LOCAL_MACHINESystemCurrentControlSetServicestcpipParametersNumTcbTablePartitions
Edit (or create if non-existent) an entry of NumTcbTablePartitions and set the value to 8.
The value of this entry can be changed to partition the TCP control block (TCB) table to avoid contention. The default is 0x4; the value should be a power of two, that is, 2, 4, 8, 16, 32, and so on. On multiprocessor systems, change the number of partitions to four times the number of processors in your system.
HKEY_LOCAL_MACHINESystemCurrentControlSetServicestcpipParameters
Edit (or create if non-existent) an entry of TcpAckFrequency and set the value to 13.
Frequency of TCP ACK message that send to the other side.
HKEY_LOCAL_MACHINESystemCurrentControlSetServicestcpipParameters
Edit (or create if non-existent) an entry of TcpAckFrequency and set the value to 13.
Frequency of TCP ACK message that send to the other side.
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanworkstationParameters
Edit (or create if non-existent) an entry of DisableByteRangeLockingOnReadOnlyFiles and set the value to 1.
This change allow the client to work faster with SAMBA server (you don’t need it to connection with Windows Server that isn’t SAMBA):
http://h71000.www7.hp.com/doc/tcpip51/documentation/v51_relnotes_002.html
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanworkstationParameters
Edit (or create if non-existent) an entry of DormantFileLimit and set the value to 100.
Determines how many files on each share can remain open in the redirector’s cache after an application has closed them. If the number of open, cached files on a share exceeds the value of this entry, the system begins to close the cached files. The Windows redirector keeps files open in the cache after an application has closed the file. This entry prevents cached files from occupying the limited number of places available for open files. By default, LAN Manager servers permit only 60 files from remote clients and 50 files from each client workstation to remain open.
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanworkstationParameters
Edit (or create if non-existent) an entry of ScavengerTimeLimit and set the value to 100.
http://www.cnaf.infn.it/~ferrari/infn-grid-wp5/task-dg/task2/scavenger-tests-cern.pdf
After you finish the changes on the server/client please reboot your computer to allow this changes to affect the system.
If for some reason you want to restore your original configuration, then, before you log in, use “Last Known Good” configuration
http://tailorednews.com/MicrosoftSP/NI/articles/tuningasp.doc
http://www.mindcraft.com/whitepapers/sm461ad/sm461ad-p2.pdf
http://www.nwfusion.com/reviews/2000/0124revtuning.html
http://www.synapse.de/regcheck/ger/registry/win-2000/root/hkey_local_machine/system/currentcontrolset/services/tcpip/parameters/
http://www.specbench.org/osg/web99/results/res2002q1/web99-20020215-00178.html
http://www.microsoft.com/windows2000/docs/tcpip2000.doc
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windows2000serv/reskit/serverop/part2/sopch09.asp
http://www.siesystems.com/w2k_registry_tcp.htm
http://nms.lcs.mit.edu/talks/tcp-asym/