Custom Tweaks for Windows Terminal Server 2003
NOTE: Registry changes mentioned below are suggested changes only; 2X is not responsible for the consequences of any implemented Registry changes.
For custom tweaks to Windows 2003 Terminal Server, to improve the overall end-user experience, please do the following:
First, access:
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
And change these values:
- “AutoEndTasks” REG_SZ “1” (terminates programs that aren’t responding)
- “CursorBlinkRate” REG_SZ “-1” (prevents the cursor from blinking, cutting down on screen redraws)
- “DragFullWindows” REG_SZ “0” (disables “show contents” while dragging a window)
- “MenuShowDelay” REG_SZ “10” (delay for showing submenus)
- “WaitToKillAppTimeout” REG_SZ “20000” (number of milliseconds to wait before terminating an application that has stopped responding)
- “SmoothScroll Dword” REG_DWORD “00000000” (disables smooth scrolling)
- “Wallpaper” REG_SZ “(none)” (disables wallpaper)
Then browse to:
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktopWindowMetrics
And change this value: “MinAnimate” REG_SZ “0” (disables the animation when resizing a window)
If any of these keys, subkeys or values do not exist, they should be created. This will enhance the user experience by increasing speeds for end users.
To configure individual settings, please follow the instructions below:
Eliminate IE Flickering: Configure this setting to force off-screen composition of Internet Explorer, eliminating the flickering effect. In HKEY_ CURRENT_USERSoftwareMicrosoftInternet ExplorerMain, set the DWORD value for Force Offscreen Composition to 1.
Disable Office 2003 Customer Experience Improvement Program: Configure this setting to prevent Office from prompting the user to participate in this program. To enable, in HKEY_ CURRENT_USERSoftwareMicrosoftOfficeCommon, set the DWORD value for QMEnable to 1.
Disable File Locking: Configure this setting to modify file locking behavior on the server. This will enhance performance, but it’s known to have issues with some database applications. To enable, in HKEY_LOCAL_ MACHINESystemCurrentControlSetServicesLanmanWorkstationParameters, set the DWORD value for UseLockReadUnlock to 1.
Disable NTFS Last-Accessed Time Stamping: Configure this setting to prevent the system from updating the last accessed time stamp on files, which can enhance performance. Some applications require this to be accurate, so test prior to implementing. To enable, in HKEY_LOCAL_ MACHINESystemCurrentCon trolSetControlFileSystem, set the DWORD value for NtfsDisable LastAccessUpdate to 1.
Turn Off Lazy Writes: This setting prevents the system from caching write operations before writing them to disk, which can speed operation over the network. Configure the following two keys: In HKEY_LOCAL_MACHINE SystemCurrentControlSetServices LanmanServerParameters, set the DWORD value for IRPStackSize to 15. Also, in HKEY_LOCAL_MACHINE SystemCurrentControlSetServices LanmanWorkstationParameters, set the DWORD value for UtilizeNT Caching to 0.
Improve Windows Kernel Performance: Prevents the system from paging kernel mode drivers and system code to the disk, which can impair performance. To configure, in HKEY_LOCAL_ MACHINESystemCurrentCon trolSetControlSession Manager Memory Management, set the DWORD value for DisablePagingExecutive to 1.
Increase the Network Request Buffer: This setting boosts performance by increasing the size of the network request buffer, which determines how much data is stored before it is sent to the client. This setting can also improve LAN Manager file writing performance. Increasing the size of this buffer will consume RAM, so adjust and monitor settings carefully. To enable, in HKEY_ LOCAL_MACHINESystemCurrent ControlSetServicesLanmanServerParameters, increase the DWORD value for SizReqBuf to a value between 1024 and 65535.
Eliminate Session Hangs During Logoff: Terminal Server sessions can sometimes hang when the user attempts to log off. One solution is to modify available network buffers and open connections. Configure the following keys: In HKEY_LOCAL_MACHINE SystemCurrentControlSetServices LanmanServerParameters, set the DWORD value for MaxWorkItems to 8196, MaxMpxCt to 2048, MaxRaw WorkItems to 512, MaxFreeConnections to 100, and MinFreeConnections to 32. In KEY_LOCAL_MACHINE SystemCurrentControlSet ServicesLanmanServerParameters, set the DWORD value for MaxCmds to 2048. Also, in HKEY_LOCAL_ MACHINESystemCurrent ControlSetControlSessionManager ConfigurationManager, set the value for RegistryLazyFlushInterval to 60. Lastly, ensure that the Enable Advanced Performance feature is enabled when viewing device properties of all disk drives on the system.
Speed up Application Load Times: Increase the perceived performance by pre-loading commonly used files into memory. This works well on systems with plenty of available RAM. To enable, in HKEY_ LOCAL_MACHINESystem CurrentControlSetControlSession ManagerMemory Management PrefetchParameters, set the DWORD value for EnablePrefetcher to 3.
Disable Caching of Roaming Profiles: Excess terminal server roaming profiles can consume disk and Registry quota space. Configuring this setting can eliminate waste but increase user login time. To enable, in HKEY_ LOCAL_MACHINESoftware MicrosoftWindows NTCurrent VersionWinlogon, set the DWORD value for DeleteRoamingCache to 1.
Disable Unused Subsystems: Not using the POSIX subsystem on your terminal server? Disable it and navigate to the registry location HKEY_LOCAL_ MACHINESystemCurrentCon trolSetControlSession Manager Subsystems to delete the Posix key. You can also disable the File Indexing Service, which is great for quickly searching for files, but your terminal server arguably shouldn’t have that many user files on it and the indexing process can consume huge system resources. To disable it, navigate to the properties menu of each drive on your system and deselect the box for Allow Indexing Service to index this disk for quick file searching.
Applicable registry text is shown below:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftInternet Explorer
Main]
“Force Offscreen Composition”=dword:00000001
[HKEY_CURRENT_USERSoftwareMicrosoftOfficeCommon]
“QMEnable”=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
LanmanWorkstationParameters]
“UseLockReadUnlock”=dword:00000001
[HKEY_LOCAL_MACHINESystemCurrentControlSetControl
FileSystem]
“NtfsDisableLastAccessUpdate”=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
Lanman ServerParameters]
“IRPStackSize”=dword:0000000f
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetService
Lanman WorkStationParameters]
“UtilizeNTCaching”=dword:00000000
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Session ManagerMemory Management]
“DisablePagingExecutive”=dword:00000001
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
LanmanServerParameters]
“SizReqBuf”=dword:0000ffff
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
LanmanserverParameters]
“MaxWorkItems”=dword:00002004
“MaxMpxCt”=dword:00000800
“MaxRawWorkItems”=dword:00000200
“MaxFreeConnections”=dword:00000064
“MinFreeConnections”=dword:00000020
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
LanmanworkstationParameters]
“MaxCmds”=dword:00000800
[HKEY_LOCAL_MACHINESystemCurrentControlSetControl
Session ManagerConfiguration Manager]
“RegistryLazyFlushInterval”=dword:0000003c
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
SessionManagerMemory ManagementPrefetchParameters]
“EnablePrefetcher”=”3”
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NT
CurrentVersionWinlogon]
“DeleteRoamingCache”=dword:00000001