Microsoft White Paper: 64-bit Terminal Services Scaling and Performance

Rating:
Votes: 9 rating(s),  Score: 39/45
18
comments
18359 views
Microsoft just released a white paper that details their lab test results for scalability of Terminal Server running on 64-bit Windows Server 2003. The paper also details how you can perform similar tests in your environment.
Written by:
Brian Madden
Publication Date:
January 04, 2006
Doc #Id: 548


Microsoft just released a white paper that details their lab test results for scalability testing of Terminal Server running on 64-bit Windows Server 2003. The authors of the paper did lab testing using 32- and 64-bit Windows on three different servers:

  • 2 CPU, 16GB RAM
  • 4 CPU, 32GB RAM
  • 4 dual-core CPU, 32GB RAM

The paper is fairly short and easy to read, but here are the highlights in case you don't have time:

  • As most of you know, the architecture of Windows means that 32-bit Terminal Server cannot scale to more than about 250-300 users per server, regardless of how much hardware you throw at it. Today's 64-bit Terminal Servers can hold at least 600 users, and more are possible as hardware speed increases.
  • Running 32-bit applications on 64-bit Terminal Server will still scale very large, although you'll require about 1.5 to 2x the memory as compared to 32-bit apps on a 32-bit server. (However, these particular lab tests did not come anywhere near exhausting the memory, which means the virtual memory manager did not work to trim applications' working sets. This means that in the real world, the extra memory requirements may not impact performance. More testing will be needed.)
  • The "default" component holding back performance of 64-bit servers with high user loads is disk throughput. With hundreds of sessions on a single server, you can't just use the two internal SCSI drives that ship with the server. You need to think about external arrays or SANs.
  • Once you get the storage performance issues worked out, the ultimate limiting factor is CPU speed. (This means that dual core is a good investment, as the dual core system could support about 60% more users than the single core systems with 64-bit Windows.) This suggests that we should see more users per server as CPU power increases over the next few years.
Reader Comments
Nice in theory..
Thursday, January 05, 2006 3:49:46 AM

Guest
Of course this is great in theory, no serious hardware limits anymore.
But in practice I prefer to scale horizontally,
maybe upto 40-50 users per server.
Which company can afford it when a Terminal Server where 500 users are
working on fails ? Maybe an incidental blue screen is survivable,
but a hardware failure would probably take some hours to repair..

This is probably good news for companies that have tens of thousands of TS users
and can afford to have T+1 of those high-end servers.
RE: Nice in theory..
Thursday, January 05, 2006 9:34:25 AM
I would disagree, typically TS boxes are memory constrained, you run out of memory before anything else. with 64-bit you can now put in more memory (if the server allows like most newer servers do) and get more users on even if it's a 2 way box and the bottleneck becomes the processors. Which in turn still gives you horizontal scaling but you don't need as many boxes.
RE: Nice in theory..
Thursday, January 05, 2006 9:58:10 AM
Not to mention there is really no cost difference.  Most server hardware today includes 64-bit extensions and the OS cost is the same.  What do you have to lose, except for the "old way of thinking"?
RE: Nice in theory..
Thursday, January 05, 2006 10:02:35 AM
Guest, no one is suggesting that you not scale-out and have redundancy, they're just remarking that you will be able to fit more sessions on each node.
RE: Nice in theory..
Sunday, January 22, 2006 9:15:38 AM

Guest
Same opinion here.

Let me get this straight. I hope i'd understand the conclusion on this white paper and my own is right.

x64 does have it's advantages for high end servers but when it comes to the common 2 x 3,X GhZ CPU, 4GB RAM Servers it wouldn't improve the TS that much? On the contrary, x64 would use more RAM.
So why should i use x64 for small business environments where i used to deploy servers for 40 - 50 users? Now i have to worry about RAM usage when i would deploy x64 TS on this boxes?
RE: Nice in theory..
Sunday, January 22, 2006 6:00:40 PM
You're correct, TS will only scale better on x64 if you have more resources, i.e. comparing two systems with 2 CPUs, 4GB of RAM where RAM is the bottleneck, x64 isn't going to help unless you had more RAM.  The advantage of x64 is that there is no 2GB kernel memory boundary, so if you're using a x64 server & OS that supports more than 4GB you'll be able to add more sessions, if the CPUs are not saturated.
 
RE: Nice in theory..
Saturday, February 04, 2006 12:36:42 PM
I have to agree with Guest, hardware failures, whilst rare, would cause all 600 users to loose their work.  This is not a good thing for most medium sized companies. I usually recommend 30-40 users per box.
 
 
 
x64 benchmark
Friday, January 06, 2006 2:23:29 PM

Guest
We benchmarked  x64 TS in our lab a couple of weeks ago, here is the result.
 
Dell PE2850 Dual 3.2 Ghz, 6 GB RAM
Scripted citrix heavy user (each users running word, escel, project, PI process book...)
 
 
Results:
 
In Windows 2003 server Enterprise edition 32Bits, we can load the server with 70 users without any performance problem (non major paging operation, 23% cpu, low disk activity, 1.4 GB available byte). Same server in x64 with 70 users run out of memory with more that 50% CPU, probably caused by the high paging activity. The out of memory issue was because each process take 50% more space for working set and 1.5-2 X the virtual byte space.
 
 
On a 2 way box like pe2850, if you want to put more that 8GB of memory, that will be cheaper to by another server. Just for this reason, x64 will not be usable for us. I'm a little bit disapointed that citrix release x64 by annoncing that you will be able to put 3 x more users....but not on the same box.. you will need 6 x the memory!
 
All the benchmark released by MS ran on server with 16GB and more RAM. I also read MS article explaining that the only reason to go to x64 is if you reach kernel memory limits of x86. For my servers, Windows 2003 32 bits will be enough because of the 540 MB of paged pool memory now available (instead of 335 on W2K, also the registry is not stored in the paged pool area anymore), 200k pte instead of 100k and better memory management that w2k.
 
We did another benmark with windows 2003 enterprise x86 on a PE2850 Dual 2.8 Ghz dual core, 8 GB ram and we can load 130-150 heavy users without any CPU or memory issue (Many PTE free, Less that 200 MB of paged pool memory used). I think for real life, it's a better way to explore that the x64.
 
Jocelyn Tremblay