Brian Madden Logo
Your independent source for application and desktop virtualization.
Marketplace

advertisement

Users/core on terminal services vs. VDI, in the Performance Tuning / Server Sizing forum on BrianMadden.com

rated by 0 users
This post has 15 Replies | 0 Followers

Not Ranked
Points 125
Mike Ferron-Jones Posted: 10-23-2007 12:06 PM
Anyone have a good rule of thumb for how many users per processor core can be used to acheive decent application performance? I'm looking at both terminal services and VDI deployments. I know the real answer is "it depends", but what are others finding? Numbers I have heard range wildly, and the vendor claims are dubious. (Note: I am calling out users/core, not users/processor, in order to really dial in the server capacity required.)

Thanks!

...Mike
Top 10 Contributor
Points 151,295
Yeah you're totally right about the "it depends." But here's a super-quick, super-generic view..

Figure that you can get 40-80 users on a Terminal Server which has traditionally been two processors, one core each. Now with dual dual core, you could probably get more, although you'd typically run into memory limitations in a 32-bit environment. So that's maybe 20 users per core, or 10 users per core, kind of depending on how you count.

For VDI, you're probably looking at 5 users per core, but that is more scalable. 10 users on 2 cores, 20 users on 4 cores, and 40 users on eight cores. Of course you'll probably need 2GB of RAM per core for VDI, so for a server to support 40 VDI users, you're looking at dual quad cores with 16GB RAM.

What does everyone else think?
Brian

Please RATE posts. Let our contributors know how you feel!

  • | Post Points: 5
Top 10 Contributor
Points 15,746
Alan Osborne replied on 10-23-2007 6:17 PM
There definitely is a lot of debate and uncertainty out there and I wish I had the equipment at my disposal to get a better feel for this.

I think that as the number of cores increases and if people stick to 32-bit OSes, then virtualized TS/Citrix servers will start to catchup with physical servers for the total number of users on a physical box.

I wonder how many users you could get on an AMD quad-core, 4 socket box using ESX 3i or ESX 3.5 (with NPT support) and running a bunch of single vCPU VMs with CPS 4.5 vs. running VDI instances of Windows XP with connection brokering.

I personally think that running non-virtualized TS/Citrix W2K3 32-bit OSes on anything over 4 cores is going to be a waste of resources once hardware virtualization improvements are available.

Maybe I'm dreaming, but I think that in the not too distant future, Citrix VMs will not take much of a performance penalty and you'll be able to run on 16 cores at least 16 CPS single vCPU VMs (likely more) with on average 20 to 25 users for a total of 320 to 400 users on a single box. I think will be possible because VMs will scale much more linearly than adding cores to physical machines will. Going to need lots of RAM though!

Even if I've over estimated, you're still going to be able to get way more users on SBC than VDI - by at least a factor of 4. VDI really isn't about maximizing resources though, it's about the end user experience. For me, that a pretty hefty performance price though.

Alan Osborne
President (MCSE, CCNA, VCP, CCA)
VCIT Consulting - Citrix/Terminal Services Remote Desktop Solutions for SMB
p: 604-288-7325
c: 778-836-8025
web: http://www.vcit.ca
blog: http://www.vcit.ca/wordpress

  • | Post Points: 50
Top 10 Contributor
Points 151,295
I agree 100%. As long as we're talking about 32-bit OSes, I think that we'll be able to fit (even today) 200, 300, or 400 users per 16-core physical box by breaking it up into several 4GB VMs each running TS/Citrix.

The real question is how would a bunch of 32-bit Citrix VMs compare to running x64 TS/Citrix natively on the same hardware.

Of course today, x64 is not too popular. Let's assume that x64 takes off in the next few years.. Will anyone then run x64 TS/Citrix natively, or will everything be virtual in those days?

Please RATE posts. Let our contributors know how you feel!

  • | Post Points: 5
Top 10 Contributor
Points 15,746
The biggest single benefit of 64-bit Oses is the amount of addressable memory, allowing you to scale BIG on a physical platform without the 2 GB kernel memory space limitation. But I just don't see how a single 64-bit OS instance running on 16 cores is going to deliver linear performance gains per core. So until the software industry forces us to go 64-bit, I'll drag my feet as I'd rather scale virtually and use 32-bit SBC OSes for now.

As long as the end user experience when connecting to a virtualized SBC farm is comparable to a stand-alone desktop, then other factors like manageability, consolidation, DR, HA, and portability become paramount and virtualization addresses these challenges.

So even though a virtual farm of single vCPU CPS servers ends up being more to manage than a smaller physical farm of BIG 64-bit CPS servers, companies that need to deliver a diversity of apps will in practice end of having to create silos anyways.

Which brings up the topic of application virtualization or streaming on demand. Personally, I'm still struggling with the business merits of streaming applications to an SBC platform (I totally get it for conventional desktops and VDI). The sales pitch from vendors is that you will be able to rapidly deploy applications on demand to bare bones CPS servers or VDI desktops with no application compatability issues. IMHO, most businesses just don't add/change/upgrade apps frequently enough to merit this extra expenditure, unless you have dozens, hundreds, or thousands of CPS servers/VDI instances to manage. Cloning VDI desktop images and even CPS server images is fairly trivial anyways.

When it comes to rapid application deployment, the real bottleneck is the end user and his/her learning curve. Deploying new apps quickly and efficiently is great for IT, but the typical end user won't see any benefit.

Alan Osborne
President (MCSE, CCNA, VCP, CCA)
VCIT Consulting - Citrix/Terminal Services Remote Desktop Solutions for SMB
p: 604-288-7325
c: 778-836-8025
web: http://www.vcit.ca
blog: http://www.vcit.ca/wordpress

  • | Post Points: 5
Not Ranked
Points 160
I don't have figures Mike, but I'd say what you are asking for is comparing apples with oranges. IMHO the two technologies (SBC/VDI), whilst ultimately delivering access to applications have very different capabilities, while each have their own niche I think they can be hugely complementary.

I'd agree with the guys above, whilst a quad/quad or a quad/hex, or whatever comes up in the near future may allow you to scale to 700, 1000 or maybe 2000 users, why would you do that? For Terminal Services, if you lose a box like that it's 2000 users who are pretty miffed.

With VDI (and virtualisation of Terminal Servers) you can mitigate this by using HA technologies such as VMotion and XenMotion, so I'd say it's 1-0 to virtualisation on that score. VMWare have an interesting white paper which discusses scalability of virtualised CPS servers versus natively installed CPS on the same hardware. Once you look at the differences and then take into consideration the advantages of the virtualised option it certainly makes you wonder. I think Xen's approach to virtualisation will make this topic even more widely debated once Citrix get their teeth into the issues which affect scalability in this area.

Brian made an interesting post recently about proposing an Ardence solution for a University where typically a CPS deployment would have been the norm. This to me plays along the same lines as your question. All of these technologies really are very different and dont stand up to any direct comparison, but they are hugely complementary and used in concert can address most design scenarios. Any more updates on the progress of that one Brian?

I'd also be happy to see any figues anyone out there has a direct comparison, just for interests sake, but the result won't keep me aware at night ;-)
  • | Post Points: 5
Not Ranked
Points 5
Recently Mark Van Name of Principled Technologies posted a topic on the Emerging Compute Model Forum comparing the performance and TCO of five computing models with varying numbers of active clients, each of which was running typical office applications. They ran a set of typical office application scenarios with the following five computing models:
- Terminal/Presentation server-thin clients using Citrix Presentation Server 4.5
- Rich desktops-rich clients
- Well-managed OS streaming desktop/vPro-rich clients with Intel vPro technology and OS streamed from a server to Ardence Evaluation Client 4.1
- Blade PC desktop-thin clients connected to Blade PCs
- Well-managed application streaming desktop/vPro-rich clients with Intel vPro technology running AppStream Technology Windows Edition 5.21.

You can see the results of their study at the following URLs:
http://www.principledtechnologies.com/Clients/Reports/Intel/ComputeModelSupport1107.pdf
http://www.principledtechnologies.com/Clients/Reports/Intel/ComputeModelTCO1107.ppt
http://www.principledtechnologies.com/Clients/Reports/Intel/ComputeModelTCOCalc1107.xls
http://www.principledtechnologies.com/Clients/Reports/Intel/CompModelsTCO1107.pdf

This may give some relevant data for the question here.

-Jason A. Davidson
http://www.intel.com/go/emerge
  • | Post Points: 5
Not Ranked
Points 40
Hi Guys

Just my perspective from working with a number of clients on the VDI versus PS4.5, virtualised Citrix servers versus physical Citrix servers, and also 64bit versus 32bit. At the end of the day a lot of it comes down to cost per user.

Brians figures of around 5 per core for VDI are spot on from testing I have seen in the VDI world. You will always see comments quoting high numbers of users in both VDI and Citrix, but remember anyone can do high numbers for scripted logins running a published version of Notepad.

When you are talking about real users running real business apps though the numbers come down significantly.

64Bit will be of real value when all our desktop apps are well behaving 64bit native apps, but at the moment that is not the case.

So IMHO, and this has been demonstrated with a simple calculator with numerous clients, the best bang for buck per user, is a standard 4GB, Dual CPU, Win 2003 server running Citrix. This will give you somewhere between 20 and 60 users in my experience depending of the apps.

Of course I would add AppSense Performance Manager (because I work for them), and that (again in my experience) changes the numbers to somewhere between 40 and 100 users per server.

Less servers running standard hardware and software equals less cost, less complexity, and lower cost per user.

Catch ya

Shane
  • | Post Points: 5
Top 10 Contributor
Points 35,574
Scaleability is not the only thing to consider when comparing Terminal Server based application delivery to Virtual Desktop based application delivery. Don't get me wrong, the upfront cost of the infrastructure to support VDI is not cheap, but VDI infrastructures will prove to be easier to maintain.

I can't count how many times I've gotten cold called by an IT Person that says, can you please help me to get my application working on TS/Citrix. Now imagine you're hosting the vast majority of your applications on virtualized desktops, instead of a shared OS (this problem no longer exists).

Printer Driver compatibility. While you'll still need a UPD to support client printers, a UPD for network printers will only be needed for ease of manageability and performance, but you'll no longer have to worry about a printer driver failing because of the multi-user OS.

Application packaging. Applications can be packaged by the desktop team, instead of some terminal server guru, and deployed by whatever mechanism you choose, whether that's manually, via desktop image, SMS, SoftGrid...

Citrix or Microsoft software updates that break multi-user features of the OS. Gone.

Stability for the masses. If a user whacks his/her VM, it only affects the user, not everyone else. If a user saturates teh CPU on his/her VM, it only afects that VM, not every other VM.

Ease of deployment. With a decent connection broker, one can mass deploy hundreds of desktops, and have it scheduled for off hours. One can also recreate a users VM in a few minutes, and add automatically add additional VMs when necessary.

Support, your desktop team can now fully support the OS on which the applications run, instead of relying on expensive TS/Citrix Engineers.

TS/Citrix Engineers, better start learning about VDI, or you might find you're obselete in a few years.

Patrick Rouse
Microsoft MVP - Terminal Server
Systems Consultant
Quest Software, Provision Networks Division
Virtual Client Solutions
(619) 994-5507 mobile
http://www.provisionnetworks.com

Check out the Official Provision Networks Blog:
http://blogs.inside.quest.com/provision

  • | Post Points: 20
Not Ranked
Points 40
Dude you are forgetting about application virtualisation and streaming.
TS/Citrix VM's as a few guys discussed above will scale on hardware better than physical.

At VMWorld IBM/VMware demonstrated a 16 way server scaling 50% better than physical when running 16000 exchange 2007 mailboxes.

My vote goes for thin client and app streaming. Very simple admin and maintenance. A good solution for places with loads of different applications or changing applications, like schools and universities..

Pop it all on a virtual infrastructure and there you go. Superior solution.

VDI is as mentioned all about user experience and flexibility. Supporting them might be easier than a full desktop, but users can still do stupid things! VDI gives them too much rope to hang themselves most of the time. But for power users its a good option.
  • | Post Points: 20
Top 10 Contributor
Points 35,574
Just because you can offer a flexible desktop to VDI users, does not mean that you can't control them as much or as little as necessary.

Patrick Rouse
Microsoft MVP - Terminal Server
Systems Consultant
Quest Software, Provision Networks Division
Virtual Client Solutions
(619) 994-5507 mobile
http://www.provisionnetworks.com

Check out the Official Provision Networks Blog:
http://blogs.inside.quest.com/provision

  • | Post Points: 20
Not Ranked
Points 40
Sure you can lock them down, but then you lose the benefit. You need more processor, more ram, more disk and more support.
But if you only want one solution for everything then thats cool
  • | Post Points: 20
Top 25 Contributor
Points 8,648
A 64-bit physical server farm significantly outperforms a virtualized farm and will for some time. However, architectural advances in CPU design will make the difference between physical and virtual machines smaller and smaller. It is true that CPU cores play an important part in this game but the key to virtual machine scalability is context switching. There are new CPU designs for context switching on the drawing board that will make it to the market in 2 to 3 years. This technology, coupled with multi core, will make the concept of virtualized servers even more attractive than it is today. Kernels optimized for virtualization and context switching will be available from OS vendors around the same time frame.

The problem with 64-bit is that the applications need to be 64-bit in order to take advantage of the this architecture. If the applications are not, you may be wasting your money on 64-bit.

I've done extensive testing of 32-bit vs. 64-bit, virtualized vs. physical servers with TS/Citrix using the most commonly used applications out there. After extensive testing I concluded that the best way to spend your money right now is on physical machines 4GB, dual CPU (or dual core), with fast I/O disk drives. Going from 4 GB to 8 GB and from dual to quad will also give you improvements with Windows Server 2003 but this depends highly on the application. For example, we have an application called "Essentus" running in Citrix. When I upgraded one 4 GB RAM dual CPU system from 4 GB to 8 GB, the user density on this particular server increased from a maximum of 45 simultaneous users to just over 100 (102 exactly). If you throw in on top of that an add-on like Super Code (or a product like AppSense), you will get even more simultaneous users with excellent performance.

Don't get me wrong. There is a lot going for virtualization platforms and I run many virtualized servers in production including terminal servers. But it is not the best investment for running Terminal Servers. At least not at the current level of development (I'm referring specifically to VMWare VI in this case). This doesn't mean you have to completely ignore the advantages of virtualization. Notic