Soup Up Your Terminal Server: Optimizing Explorer’s Network Performance
Update: The ADM file can now be downloaded here.
I recently came across a post in the Windows Server Performance Team’s blog that lists several registry values which can be used to tune Explorer’s SMB performance by modifying the following:
- Searches for Desktop.ini files used for folder customization
- Periodic refreshes of folder contents
- Searches for supporting library (.dll) files
- Individual file details and attributes pulled for each file
- Thumbnail extraction
I found the tips very interesting, but also lacking background and explanation. That is why I looked up the the KB articles explaining the registry values mentioned and created an ADM template for easily setting the values via group policy.To give you a better feeling what we are talking about, here is the list of registry changes recommended by the original poster:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "UseDesktopIniCache"=dword:00000001 "NoRemoteRecursiveEvents"=dword:00000001 "NoRemoteChangeNotify"=dword:00000001 "StartRunNoHOMEPATH"=dword:00000001 "NoRecentDocsNetHood"=dword:00000001 "NoDetailsThumbnailOnNetwork"=dword:00000001 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters] "InfoCacheLevel"=dword:00000010 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\CryptoSignMenu] "SuppressionPolicy"=dword:00100000 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}] "SuppressionPolicy"=dword:00100000 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}] "SuppressionPolicy"=dword:00100000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI] "Flags"=dword:00100c02 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] "SafeDllSearchMode"=dword:00000001 "SafeProcessSearchMode"=dword:00000001
Of those settings, several go into the policies registry branch. But only the following is configurable via group policy by default:
- NoRecentDocsNetHood: User -> Desktop -> Do not add shares of recently opened documents to Network Locations (supported only on: W2k, XP, W2k3)
All other settings are described in various Microsoft KB articles but cannot be set via group policy by default:
- UseDesktopIniCache (HKLM)
- NoRemoteRecursiveEvents (HKCU or HKLM)
- NoRemoteChangeNotify (HKCU or HKLM)
- StartRunNoHOMEPATH (HKCU)
- NoDetailsThumbnailOnNetwork (HKCU or HKLM)
And then there are the following machine-specific settings that need to be set outside the policies registry branch as a tattooing policy:
- InfoCacheLevel
- SuppressionPolicy (the KB article applies to all 3 and SCAPI->Flags)
- SafeDllSearchMode
- SafeProcessSearchMode
The ADM template file I created allows for setting these values independently and, where applicable, either as part of the user or the computer configuration. It also contains the URLs of the relevant KB articles.
; ; Created 2007-11-07 by Helge Klein ; ; ; Machine settings ; CLASS MACHINE CATEGORY !!Optimization CATEGORY !!ExplorerSMB POLICY !!UseDesktopIniCache EXPLAIN !!UseDesktopIniCache_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “UseDesktopIniCache” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!NoRemoteRecursiveEvents EXPLAIN !!NoRemoteRecursiveEvents_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoRemoteRecursiveEvents” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!NoRemoteChangeNotify EXPLAIN !!NoRemoteChangeNotify_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoRemoteChangeNotify” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!NoDetailsThumbnailOnNetwork EXPLAIN !!NoDetailsThumbnailOnNetwork_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoDetailsThumbnailOnNetwork” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!InfoCacheLevel EXPLAIN !!InfoCacheLevel_Help KEYNAME “System\CurrentControlSet\Services\MRXSmb\Parameters” VALUENAME “InfoCacheLevel” VALUEON NUMERIC 16 VALUEOFF NUMERIC 1 END POLICY POLICY !!SuppressionPolicy EXPLAIN !!SuppressionPolicy_Help KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu” ACTIONLISTON KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu” VALUENAME “SuppressionPolicy” VALUE NUMERIC 1048576 KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}” VALUENAME “SuppressionPolicy” VALUE NUMERIC 1048576 KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}” VALUENAME “SuppressionPolicy” VALUE NUMERIC 1048576 KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI” VALUENAME “Flags” VALUE NUMERIC 1051650 END ACTIONLISTON ACTIONLISTOFF KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu” VALUENAME “SuppressionPolicy” VALUE DELETE KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}” VALUENAME “SuppressionPolicy” VALUE DELETE KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}” VALUENAME “SuppressionPolicy” VALUE DELETE KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI” VALUENAME “Flags” VALUE DELETE END ACTIONLISTOFF END POLICY POLICY !!SafeDllSearchMode EXPLAIN !!SafeDllSearchMode_Help KEYNAME “System\CurrentControlSet\Control\Session Manager” VALUENAME “SafeDllSearchMode” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!SafeProcessSearchMode EXPLAIN !!SafeProcessSearchMode_Help KEYNAME “System\CurrentControlSet\Control\Session Manager” VALUENAME “SafeProcessSearchMode” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY END CATEGORY END CATEGORY ; ; User settings ; CLASS USER CATEGORY !!Optimization CATEGORY !!ExplorerSMB POLICY !!NoRemoteRecursiveEvents EXPLAIN !!NoRemoteRecursiveEvents_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoRemoteRecursiveEvents” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!NoRemoteChangeNotify EXPLAIN !!NoRemoteChangeNotify_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoRemoteChangeNotify” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!StartRunNoHOMEPATH EXPLAIN !!StartRunNoHOMEPATH_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “StartRunNoHOMEPATH” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY POLICY !!NoDetailsThumbnailOnNetwork EXPLAIN !!NoDetailsThumbnailOnNetwork_Help KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer” VALUENAME “NoDetailsThumbnailOnNetwork” VALUEON NUMERIC 1 VALUEOFF NUMERIC 0 END POLICY END CATEGORY END CATEGORY [strings] Optimization=”Optimization” ExplorerSMB=”Explorer Network Performance” UseDesktopIniCache=”Cache Desktop.ini” UseDesktopIniCache_Help=”http://support.microsoft.com/kb/840309/EN-US” NoRemoteRecursiveEvents=”Disable Remote Recursive Events” NoRemoteRecursiveEvents_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B330929&x=9&y=10″ NoRemoteChangeNotify=”Turn Off Directory Notification SMB Requests” NoRemoteChangeNotify_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B812669&x=14&y=12″ StartRunNoHOMEPATH=”Do Not Search Home Folder First When a Program is Started From Start -> Run” StartRunNoHOMEPATH_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B264061&x=18&y=9″ NoDetailsThumbnailOnNetwork=”Do Not Extract Details Thumbnails from Files Over the Network” NoDetailsThumbnailOnNetwork_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B830903&x=17&y=18″ SuppressionPolicy=”Do Not Obtain Detailed File Information When Opening a File” SuppressionPolicy_Help=”http://support.microsoft.com/kb/829700/EN-US” InfoCacheLevel=”Enable Caching of Path Information for all Files” InfoCacheLevel_Help=”http://support.microsoft.com/kb/834350/EN-US” SafeDllSearchMode=”Do Not Search for DLLs in Home Folder First (W2k)” SafeDllSearchMode_Help=”http://support.microsoft.com/kb/306850/EN-US” SafeProcessSearchMode=”Do Not Search for DLLs in Home Folder First (XP and W2k3)” SafeProcessSearchMode_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B905890&x=13&y=9″