Optimizing Terminal Service Performance


Out of the box there are a number of things you can do to improve the performance of your terminal servers. Many of the options will depend on the specific environment, applications, and expectations of the end users. Things like color depth, audio redirection, printer redirection, and encryption level all have an effect on the amount of CPU, memory, and bandwidth used per session. This, in turn has a direct correlation on the number of users that can effectively work per server and the performance of the connection over the network. It is up to you to evaluate the environment and modify the client connection settings or the server side connection settings to maximize performance.

As a general rule turn off all features that are not needed for the end user to complete his tasks . Server-side resources can also be optimized by the effective use of the terminal server connections. Limiting users to one session, limiting the number of sessions per terminal server, and logging off disconnected or idle sessions are all things you can do to conserve server-side resources and thus increase the overall performance of the system as a whole. It is also important to look at the application(s) being delivered via Terminal Services and tweak them for maximum performance. Microsoft Office is a great example of this. Turning off the Office Assistant, spell and grammar check as you type, automated windows , and things of that sort can greatly reduce the amount of network traffic and CPU consumed.

Taking Advantage of Profile Redirection

You can use a few simple tools to help create a very consistent, efficient user environment for the terminal server users. With the use of Terminal Services profiles along with folder redirection to centralize user settings/data the terminal server administrator's users will enjoy a very consistent environment no matter which terminal server they connect to. Without the use of these tools a new profile will be created every time a user log's into a terminal server. For the end users this means setting up application preferences over and over again, potentially not knowing where they saved their work, and other inconsistencies that can lead to confusion for the end users.

To define a TS profile you go into your Active Directory Users and Computers snap-in, select a user account, and then click on the Terminal Services Profile tab. Then define the path to the profile storage area. Typically it's \\ servername \sharedfolder\username. Alternatively, you can use a terminal server GPO to define the location of the profiles. To configure via GPO, edit Computer Configuration/Administrative Templates/Windows Components/Terminal Services/Set Path For TS Roaming Profiles and place the desired path there. It is very important to make sure the server that the profiles are stored on is robust, highly available, and has plenty of disk space to store all the profiles. Do not use the same path for Terminal Server profiles that has been defined for the regular roaming profiles if they are being used. Having the profile open and updated from multiple locations will cause strange behaviors and even data loss.

It is a good idea to use a GPO to define exclusions for the roaming profile. Things like temporary Internet files, temp files, history, and things of that sort can cause profiles to grow tremendously. By excluding these from the profile it will keep the profile size down and thus require less disk space and will speed up launch times because the time it takes to copy the profile from the central location to the terminal server does directly affect the amount of time it takes to open and close the application. To define the exclusions you will want to modify and enable the following GPO within the Group Policy editor: User Configuration/Administrative Templates/System/User Profiles/Exclude Directories in Roaming Profile.

Folder Redirection

If folder redirection is used, you will want to exclude those redirected folders from the roaming profile as well because it would be counter-productive to redirect the folder and then copy it to the local profile.


Use Folder Redirection Globally

Use folder redirection globally in your network and redirect everything (application data, desktop, My Documents, and Start menu) and now no matter if your users are running local applications from their desktop or applications via Terminal Services their experience and file locations are the same.


The use of folder redirection with Terminal Services has a few benefits making it worthwhile. By redirecting folders instead of storing them in a profile and having them copied back and forth the amount of network traffic required to upload and download the profile is greatly reduced. For example if a user has 100MB worth of Word documents in his My Documents folder all that has to be brought over during launch thus causing a slow application launch and closing as it copies everything back.

If you instead do folder redirection the data will always reside out on a server on the network and does not have to be copied back and forth. It is instead only accessed when necessary and now instead of copying over 100MB worth of profile it might be as small as 2 “3MB. The use of folder redirection also ensures that user data is in a known central location making it very easy for you to back up. Use the GPO to remove cached copies of user profiles to help keep the application servers clean. The deletion of the profiles is not 100% so if you are worried about disk space, periodic house cleaning will be necessary because profiles will sometimes be left behind. Include a section to clean up profiles in a reboot script as a good practice.

Leveraging Windows Resource Manager to Control Resources

New for Windows 2003 is the Windows Resource Manager. Although its use is not exclusive to Terminal Services it is a great tool to take advantage of. You can now limit the amount of CPU and memory an application can use. You can even go as far as to have separate settings based not only on an application but a user or group as well. Using Windows Resource Manager you can now provide a more consistent user experience, enforce a certain level of QoS, and be able to prevent things like a single rogue session from bringing all the other sessions on the server to a grinding halt.

Windows Resource Manager can also be used to provide tiered levels of performance for users. A Terminal Server that is dedicated to the engineering department might be underutilized so you might want to open it up to the sales group. By placing CPU limitations by both program and user, you can ensure that the sales users that utilize the Engineering Terminal Server can never use more then 10% of the system's capacity. This ensures that engineering jobs will still run with acceptable performance on the occasions that they are used.

BEST PRACTICE: Use Windows Resource Manager

Use Windows Resource Manager to ensure that runaway applications cannot overload a Terminal Server and make the other applications unusable.




Microsoft Windows Server 2003 Insider Solutions
Microsoft Windows Server 2003 Insider Solutions
ISBN: 0672326094
EAN: 2147483647
Year: 2003
Pages: 325

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net