In Part 1 of this series ( Terminal Services Basics ), I explained the basic architecture involved in setting up a remote management session through Windows 2000's terminal services. In this article, I'll go into more depth as I discuss the system requirements and configuration process on the server end.
As I mentioned in Part 1, using the terminal services for anything other than administrative purposes can place an overwhelming burden on your server. This is the case because applications that run during a terminal session are running on the server. The server is also sending real-time screen updates to each terminal client as they use those applications. Because of the way the terminal services work, it's easy for just a few users to overwhelm the server, especially if the users are using resource-intensive applications such as large databases or CAD software.
Because of the exceptionally heavy workload that the terminal services place on the server, Microsoft makes some fairly hefty hardware recommendations for your server. The general recommendation for servers running terminal services is a minimum of 128 MB of RAM, plus an extra 10 to 21 MB of memory per client. The range in recommended memory per client is based on the idea that not all applications are created equal. A generic word processor, for example, may require only 10 MB per user, whereas a higher-end application like a CAD program may require 21 MB per user. If you're considering allowing end users to use terminal sessions, I recommend putting as much memory in the server as the server will accommodate. Even if the memory you put in the server turns out to be more than the terminal services require to handle the current workload, Windows 2000 probably will be able to use the memory in other areas.
Although memory is by far the most precious resource involved in running the terminal services, it's certainly not the only resource used. The terminal services also use the processor, hard disks, and network connections very heavily. Therefore, Microsoft recommends that if you're going to use the terminal services for more than just occasional administrative purposes, you should use a server equipped with multiple processors, RAID arrays, and a fast network connection.
If you plan on using the terminal services only for administrative purposes, don't worry if not all your servers live up to the stringent requirements I've outlined. Although I have several servers running the terminal services, none of them have RAID arrays or multiple processors. In fact, even my lowest-end server works very well when it comes to using the terminal services for remote administration. This server is a mere 500 MHz Pentium III with 128 MB of RAM, running Windows 2000 Advanced Server.
As far as this low-end server's network connection goes, it's running 100 megabit Ethernet. Although the server is using a high-speed network connection, I've tested the server with a variety of terminal server clients across the network. Some of these clients have been running slower connection speeds such as 10 megabit Ethernet and 11 megabit wireless Ethernet. These clients have performed very well in spite of their slow connection speeds. The only time I've run into a situation in which the terminal server client was painfully slow was during a dial-up session. Even though the dial-up session was slow (to say the least), if you get a phone call at 3:00 AM from someone who claims that something is wrong with the server, it's still much better to use a slow dial-in connection than to drive 20 miles to the office.