|
Preparing To Install Windows NT Terminal Server
When installing Windows NT Terminal Server there are many things you need to consider before you begin. Do not read the white papers that Microsoft have produced, they are no good. Read below and I will explain why.
Storage - Odviously you need to make sure you have plenty of space to install the OS and all of your applications. But rememeber this is a multi user enviroment, make sure you have enough disk space for all of there profiles which will sit on the server. Very important do not use IDE or SATA hard drives, always use SCSI as it is much faster. Your terminal server could go very slow if you dont use SCSI.
I use SCSI hard drives in raid 5 config. This way you have fault tolerance should a SCSI disk fall over. With a terminal server enviroment your disk will be under a lot of stress all the time and in my experiences disks fail quite often. So fault tolerance is very important.
Memory - Memory is a very important factor when planning to install windows nt terminal server, It is very easy for a server to run out of memory, and when this happens the server will start paging to disk and slow the server down to sometimes unusable speeds. Always install as much memory as you can. Microsoft recommend you use the following, 32mb to start of with and then 4-8mb for each user you want to add to the server. So a terminal server with 30 users on it will need 32mb + 30x8mb = 272mb. I dont know how microsoft can say this?? The OS in its self takes up about 40mb, then if you install a virus program this will take up about 30mb of memory and then roughly 2-3mb per user, so this so far equals 160mb of memory used even before any users have used any applications.
Deciding how much memory to use is very difficult. You need to look at the applications that will be available on the server and try to plan as good as you can. I always say install as much memory as you can. At my work we have a farm of terminal servers and they all have roughly 30 users on them. The memory usage on these servers is usually around 2gig, and some times it goes up to 2.5gig. As a result we have bought more servers and we now have 25 users per server which take up around 1.6gig of memory in a typical day. I have found, we have installed Microsoft autoroute on our servers and this takes up over 100mb per session, so if we have 3 or 4 users using autoroute at the same time alot of memory will be used up. Internet explorer can also take up alot of memory. ECC error correcting memory can help increase reliability
So to summerise, Each server should have enough physical memory to ensure that the swap file is almost never used. Terminal Server uses round-robin thread scheduling, so when one user hits the swap file, performance decreases for all users.
Swap and Dump Files - The amount of disk space devoted to each server's swap file should be at least 1.5 times the total amount of physical RAM. So if you have 1gig of memory you should set your swap file to 1.5gig. In a terminal server enviroment the hard-disk is always very active. So as a result it is a good idea to place the swap file on another physical disk, This is just so you can load balance writing to disk. The maximum number of page table entries (PTEs) that can be created is 50,000. The system will subtract from this value if it must initialize a large non-paged pool. The system will typically allocate PTEs based on an estimate of the memory size of the computer. Each user who logs on to Terminal Server requires a minimum of 200 PTEs. If the PTE pool is exhausted, additional users will be unable to log on. For large servers, you should set the number of PTEs to the maximum limit of 50,000. If your server is going to have less than 50 users on it you will not need to do the following.
To set the page table entries to the maximum limit:
1.
Start Registry Editor, REGEDT32.EXE.
2.
Open the key HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet ControlSessionManagerMemoryManagement.
3.
Double-click the SystemPages value. The DWORD Editor dialog box will appear.
4.
Select Decimal in the Radix box.
5.
Enter 50000 in the Data text box.
6.
Click OK to save the changes and exit the Registry Editor
CPU / Processor - Microsoft recommends you use at least a 200mhz Pentium Pro. And they say you can support between 15 - 25 users on this. Im not sure about this as I use a dual 700mhz and this seems a bit slow when supporting 25-30 users. Use dual processor servers as the multi processors will enhanced the performance of the server grately. If you can use a quad processor server even better. Windows NT Terminal server will support up to 4 processors and no more, If you own a OEM version of windows nt terminal server this version will support up to 32 processors. I recommend using Intel Xeon processors at these are high spec processors and were build to run in dual processor machines
Some multiprocessor architectures and hardware abstraction layers (HALs) do not support dynamic interrupt distribution. In these cases, a network adapter is typically bound to a single processor. A single process would therefore handle all interrupts from a given network adapter, and the bulk of the processing would occur on a single CPU. We recommend that you either consider systems that support dynamic interrupt distribution, install multiple network adapters to distribute the load, or disable processing affinity by using the Registry Editor to set the key HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services NDISParametersProcessorAffinityMask to 0.
Network Adapters - It is very important to have at least 2 network cards in your server. This way if one goes ddown the other one will take over. Always use the fastest network card you can. There will be alot of network traffic going to and from the server.
Backup - I would recommend using a backup tool that can backup the servers registry, If you do a restore on the server you will need to restore the servers registry. Also consider using the rdisk command to backup the registry to a safe location (A location that gets backed up every day)
Registry - The default Windows NT registry size is 12 MB. This may not be sufficient to support the larger user profiles that Terminal Server creates. The baseline registry consumed is the size of the System, Software, and local SAM hives in %SystemDir%config. This is about 6.5 MB on a typical Terminal Server machine. The per-session additional registry quota is a function of the size of the user's profile that is loaded under HKEY_CURRENT_USER. Typical Windows NT profiles are about 400 to 600 KB, but some can be as large as 1.2 MB per user if per-user class associations is enabled, so plan to increase the default registry size. The system maximum is 204 MB, I would recommend changing to this.
Fault Tolerance - Always use raid 5 on your SCSI disks. In windows nt terminal server enviroment the disks are always under constant stress. Software RAID 5s require additional processing overhead and could degrade performance. You should also consider putting the server on a UPS power supply, You dont want the server to power off when there are 30 users on it. First of all the users are not going to be to happy, and secondly and most importantly the hard disk is at high risk of getting damaged as it is always constantly under alot of stress. Make sure you use two network cards that are load balanced. This way if one card has a fault the other one will take over and your users will not notice the fault. ECC error correcting memory can help increase reliability.
To Summerise
-Use the fastest processors you can, and use Intel Xeons
-Use as much memory as you can, you dont want the server to page to disk
-Use raid 5 so you have fault torerance on your hard disks
-Use at least two network cards -Install a UPS system
>> Preparing To Install Windows NT Terminal Server
|