

























|
 |
 |
 |
Terminal Server Scaling, Load Balancing and Hardware
Recommendations |
 |
 |
| |

 | Terminal Server
Scaling References:
Dr. Bernhard Tritsch of
Login Consultants publishes a detailed
scalability study of Microsoft Office System
2003, Microsoft Office System 2007 and
OpenOffice 2.1 on 32-Bit and X64 Windows
Terminal Services. OpenOffice 2.1, while free,
requires significantly more resources than the
Microsoft Office Products and does not scale as
well on Windows Terminal Services. (May 13,
2007)
Windows Server 2003
Terminal Server Capacity and Scaling
Terminal Services Scaling
and Performance on x64-Based Versions of Windows
Server 2003
Big Iron Test by Dr.
Bernhard Tritsch, CTO - visionApp
TMurgent White Paper: "x64
Servers: Do you want 64 or 32 bit apps with that
server?"
Capacity and Scaling of
Microsoft Terminal Server on Unisys ES7000
Enterprise Application
Scaling of Terminal Services on 64-Bit Microsoft
Windows Server 2003
|
 |
Question:
How many concurrent Remote Desktop Sessions can
run on a single 32-Bit Windows Terminal
Server?
Answer: Generally anywhere between 5 and
100,
depending on the following factors:
-
Speed, type and number or CPUs installed on
the terminal server.
-
Amount of RAM installed in the terminal
server
- Server's Host
Operating System, i.e. Windows 2000 Server
or Windows Server 2003
-
Client settings, i.e. local resource
redirection, screen resolution & color depth
-
Other services running on the terminal
server, i.e. Active Directory, Exchange,
SQL... (NOT
recommended)
-
Bandwidth available for Terminal Services sessions (a
main consideration for
WAN connections)
- End-user
applications being used in each session,
i.e. Microsoft Office, Acrobat Reader,
Internet Explorer...
|
 |
Question:
How many concurrent Remote Desktop Sessions can
run on a single Terminal
Server running Windows Server 2003
x64 Edition?
Answer:
To scale-up higher than on x32 requires both RAM
> 4GB and 4 or more CPUs, according to the "Terminal
Services Scaling and Performance on x64-Based
Versions of Windows Server 2003"
study performed by HP and Microsoft.
Unisys also did a similar study on
64 Bit Terminal Server
Scaling. That being said, with
sufficient resources, Terminal Server running on
Windows Server 2003, Standard x64 Edition could
scale to >= 150 concurrent sessions
on a single server, as there is no longer the
2GB Kernel Memory Limit. |
 |
Question:
How many CPUs should I install on each
terminal server?
Answer: Generally anywhere between
1 and 4,
depending on the following factors:
- In a large server
farm hosting thousands of sessions on 10s or
100s of servers, 2 CPU servers ideal.
- In a very small
environment hosting only a few sessions,
i.e. < 10, a server with 1 CPU is usually
adequate
- In certain
environments 4 CPUs may be used,
i.e. for CPU intensive applications or for
virtualizing Terminal Servers on VMWare ESX
or Microsoft Virtual Server.
|
 |
Question:
What do the terms "Scale-up" and "Scale-out"
mean?
Answers:
- Scale-up means to
add more resources to a server (i.e.
additional CPUs or RAM) to be able to host
more terminal services sessions
- Scale-out means to
add more server nodes to a terminal server
farm to be able to host more terminal
services sessions
|
 |
Question:
Which do you recommend, to "Scale-up" to a
server with more CPUs or to "Scale-out" to more
servers, and why?
Answers:
- I recommend
scaling-up to 2 CPUs and 4GB or RAM, at
which point I recommend scaling-out with an
additional server node.
- Scaling-out is
recommended because terminal servers do NOT
scale-up linearly, i.e. a 4 CPU server with
8GB of RAM will NOT host twice as many
terminal server sessions as a 2 CPU server
with 4GB of RAM.
- Servers that
accommodate 4 or 8 CPUs are much more
expensive than those that accommodate 2 CPUs
- Servers with more
than 4 CPUs or more than 4GB of RAM require
Windows Server Enterprise Edition to be able
to recognize the additional resources.
Windows Server Enterprise Edition is much
more expensive than Windows Server Standard
Edition
|
 |
Question:
Which operating system should I use for
Terminal Server, and why?
Answers:
- Windows Server
2003 Standard Edition is the current
Operating System of choice for most Terminal
Server or Citrix installations.
- Windows Server
2003 Standard Edition is more feature-rich
(to the end-user, i.e. color depth > 8bit /
16 colors and support of audio redirection)
than Windows 2000 Server.
- Windows Server
2003 Standard Edition can host more terminal
server sessions than a Windows 2000 Server,
assuming that the server is NOT CPU or
Memory bound
- Windows Server
2003 Standard Edition has more built-in
Printer Drivers than Windows 2000 Server
does. See this
Presentation on 2003
and Vista/Longhorn Memory Management
improvements
- Windows Server
2003 Standard Edition and Windows 2000
Server Standard Edition are much less
expensive than their corresponding
Enterprise Editions.
- Windows Server
2003 Standard X64 Edition can scale much
higher that the 32 bit version, if it is
equipped with more memory, i.e. 12-16GB,
Battery Backed RAID Controller, 4 to 6 SAS
15KRPM Disks @ RAID10 and 2 x Dual or Quad
Core CPUs. One must test to make sure
their applications and printers are
compatible with X64.
|
 |
Question:
Which products can one use to scale-out to a
load-balanced terminal server configuration (aka
Terminal Server Farm or Terminal Server
Cluster)?
Answers:
-
Windows Server Network
Load Balancing Service can be
used to load-balance up to 32 terminal
servers, however it load balances based on
network load, NOT based on session count,
CPU usage, available RAM... Windows
NLBS is generally only used when there is a
mandate to use
Terminal Services Session
Directory, and often used in conjunction
with a product like
F5 BigIP.
-
Provision Networks
Management Framework Enterprise
-
Citrix
Presentation Server (Advanced or Enterprise
Editions)
-
2X Load Balancer
-
F5 Big IP
-
Jetro CockpIT™
and Jetro BoostIT™
-
Ericom PowerTerm Webconnect
-
Centrom Panther Server
-
HOBlink JWT Enterprise Access
-
Propalms TSE (Formerly
Tarantella Secure Global Desktop TSE)
-
THINWORX Server Based
Computing
-
WBIsoft XPTS
-
Clusteresis
RDP Load Balancer (freeware)
|
 |
Question:
What server hardware do you recommend for
hosting Terminal Server? These
recommendations are just starting points to get
you looking at the correct type of hardware for
the job.
Answer: Dell PowerEdge
1950 or HP ProLiant DL360
|
 |
Question:
Is there a program that will help me to
choose the correct number and size of servers to
host different software and a specified number
of sessions?
Answer:
Yes, HP offers a FREE web-based Server Sizer.
The
Small-Medium Sized
Business
solution builder does NOT require registration,
however the more functional
Enterprise Server Sizer
requires you to register online with HP (which
is also FREE). The following applications
allow you to load-test terminal servers to see
how well your specific applications scale. |
-
Denamik Loadgen
-
Mercury LoadRunner
-
NRG AppsLoad
-
Scapa Technologies
StressTest
-
Segue SilkPerformer
-
Tevron CitraTest VU
-
thinGenius TLoad
 |
Question:
How do you recommend configuring Terminal
Server hard drives?
Answer: 4 x
15KRPM SAS Hard Drives @ RAID10 or RAID 0+1
connected to a Battery Backed RAID Controller
If your server only supports 2 hot swap hard
drives, putting everything on one RAID1 Array is
the best configuration.
RAID 5 is NOT Recommended. |
 |
Question:
How large should I make my page file?
Answer:
2 x the amount of physical RAM, i.e. 1GB RAM ->
2GB Page File |
 |
Question:
How much RAM do I need for running Terminal
Services?
Answer:
256MB for Windows Server + 10-15MB for each
logged on user + RAM required by applications,
i.e. a user can easily consume 40-50MB or RAM by
running Outlook, Word, Excel and Internet
Explorer simultaneously, and some applications
can use 75-100MB or more, so it's important
to know the resource demands of your
applications. Since many
applications use dynamic memory allocation and
share memory, you can't just multiply the number
of users times the amount of RAM one user
consumes. I generally recommend 30-40MB per
user as a baseline for users of Microsoft
Office. |
|
|
|
|
 |
|


|