Share via


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.