Massaging the XP registry for logon performance
There are two registry settings on Windows XP clients that have been observed to be key catalysts for slow boot/slow logon scenarios (also referred to as SBSL).
On the Windows XP side (SP3 must be present on all clients):
Turn on opportunistic locking on the XP clients:
- Review http://support.microsoft.com/kb/319440 and set the registry value BufferPolicyReads to 1 on all XP clients.
Note: BufferPolicyReads doesn't exist in Windows 7 (probably not in Vista either) - most likely because the code it was part of has been rewritten completely and the key isn't neccessary anymore.
Registry subkey:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon
Entry: BufferPolicyReads
Type: DWORD
Value: 0x1
Note File Reads will only be buffered when the the
BufferPolicyReads registry entry is created and is set to 1.
- Review http://support.microsoft.com/kb/834350 and set the registry value InfoCacheLevel to 10 (hex) on all XP clients
Note: InfoCacheLevel also exists in Windows 7 but it defaults to 0x10 (caching for all files) unless specifically set to 0 (Disabled) or 1 (cache only 8.3 names). I.e. no action needed to turn it on in Windows 7 or Windows 2008 R2 - it's on by default there.
Registry Subkey:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMrxSmbParameters
Entry: InfoCacheLevel
Type: DWORD
Value: 0x10
Note: InfoCacheLevel can have any of the following values in hexadecimal notation. The default value is 1.
0 = Disables the caching for all files and folders
1 = Enables the caching for files with short file name (8.3) - default value
10 = Enables caching for all files
On the server side (DC side):
Review your Automatic Site Coverage settings for DC’s outside of the main HQ site – the general recommendation in a BO scenario is to turn off Automatic Site Coverage for all DC’s outside of the HQ sites
(See http://support.microsoft.com/default.aspx?scid=kb;EN-US;306602 and http://technet.microsoft.com/en-us/library/cc732322(WS.10).aspx)
Review DNS Scavenging settings for the _msdcs zone on your DNS servers – if scavenging is active on this zone it needs to be turned off (your clients might otherwise be going out of site for authentication if their local DC DNS SRV records have been scavenged).
If you're running in mixed 2k3/2k8+ mode: make sure the RODC compatibily pack is installed on all W2k3 DC's.
Note: These two registry settings are recommended in general for performance reasons (one of them is the default on Windows 7) - but they are typically addressing an underlying issue in the networking layer (switches, routers, WAN links, etc.).
Addendum:
BufferPolicyReads doesn't exist in Windows 7 (probably not in Vista either) - most likely because the code it was part of has been rewritten completely and the key isn't neccessary anymore.
InfoCacheLevel exists in Windows7, but it defaults to caching everything unless specifically set to 0 (Disabled) or 1 (cache only 8.3 names). I.e. no action needed to turn it on - it's on by default.
Further details:
Logon delays occur over a slow connection if opportunistic locking is not granted for the policy file in Windows
http://support.microsoft.com/kb/319440
Your access to network resources is slower in Windows XP than in earlier versions of Windows
http://support.microsoft.com/kb/834350
How to optimize the location of a domain controller or global catalog that resides outside of a client's site
http://support.microsoft.com/default.aspx?scid=kb;EN-US;306602
Domain Controllers Running Windows Server 2003 Perform Automatic Site Coverage for Sites with RODCs
http://technet.microsoft.com/en-us/library/cc732322(WS.10).aspx
Description of the Windows Server 2008 read-only domain controller compatibility pack for Windows Server 2003 clients and for Windows XP clients and for Windows Vista
http://support.microsoft.com/kb/944043
Comments
Anonymous
January 01, 2003
Ed: In general, when a hotfix with an associated registry entry is introduced it defaults to Off and you have to manually create the entry and set it to activate it. This is to make sure that only customers that require the changed behaviour get it and to minimize any potentially negative effect of the new behaviour on other customers. Changes of default values for registry entries are usually only made in the next version after the hotfix was first introduced (if the registry entry still exists in the next version). So yes, this is relevant for XP SP2 and XP SP3 as well :)Anonymous
January 01, 2003
That's a good question, I'll need to check if those registry entries exist in the Win 7 code.Anonymous
January 01, 2003
Are there similar settings for Windows 7 that we should be aware of?Anonymous
January 01, 2003
Rich: BufferPolicyReads doesn't exist in Windows 7 (probably not in Vista either) - most likely because the code it was part of has been rewritten completely and the key isn't neccessary anymore. InfoCacheLevel exists in Windows7, but it defaults to caching everything unless specifically set to 0 (Disabled) or 1 (cache only 8.3 names). I.e. no action needed to turn it on - it's on by default.Anonymous
August 30, 2011
Does KN834350 still apply in XP SP3? It's dated back such that it's probably included in SP3 [but does the registry part apply then?] as the requirements for the hotfix is SP1.