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.