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_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinlogonEntry: BufferPolicyReadsType: DWORDValue: 0x1
Note File Reads will only be buffered when the theBufferPolicyReads 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 clientsNote: 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_MACHINE\SYSTEM\CurrentControlSet\Services\MrxSmb\ParametersEntry: InfoCacheLevelType: DWORDValue: 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 value10 = 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.).
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.
Logon delays occur over a slow connection if opportunistic locking is not granted for the policy file in Windowshttp://support.microsoft.com/kb/319440
Your access to network resources is slower in Windows XP than in earlier versions of Windowshttp://support.microsoft.com/kb/834350
How to optimize the location of a domain controller or global catalog that resides outside of a client's sitehttp://support.microsoft.com/default.aspx?scid=kb;EN-US;306602
Domain Controllers Running Windows Server 2003 Perform Automatic Site Coverage for Sites with RODCshttp://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 Vistahttp://support.microsoft.com/kb/944043
Are there similar settings for Windows 7 that we should be aware of?
That's a good question, I'll need to check if those registry entries exist in the Win 7 code.
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.
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 :)
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.