On a daily basis, I am asked by customers, “How do we make
our users happy with VDI? They complain constantly about the time to login and
application performance speed."
My response is that it is most important to have a
properly architected environment to ensure happy users. There are three major things that can impact end
user performance with VDI: server configuration (RAM, CPU), network bandwidth,
and storage IO. The architecture
decisions for each also depend on the profile of the user. VDI users are
generally divided into:
Task Workers - a user who generally uses one application
all day - like perhaps a checkout clerk at a store.
Knowledge Workers - your typical office worker - using
Microsoft Office apps, web browsing, some server side applications, and
occasionally things like YouTube.
Power Users - developers, engineers, software architects,
and bosses.
Let's talk about best practices for all three user types.
Task Workers
Task workers generally are the easiest group to virtualize. They use an application that can easily be
benchmarked, don't switch around what they're doing a whole lot, and are not
likely to cause any unexpected strains on the environment.
Needed Resources:
8-10 Users/Core
2GB RAM, 2GB SWAP per user
125Kbps network bandwidth
20-30 IOPS Storage
30GB Storage Space
Knowledge Workers
This group is the typical office worker. Throughout the day, they may use 10-20 different applications to get their job done – from Word to Acrobat to Chrome. They occasionally also access things like WebEx conferences, watch streaming video, and use VoIP applications. Because of their varied use of resources, it is a bit harder to size a VDI environment for this type of user – below I provide a guideline, but the best way is to pilot with 10-30 users to see how your environment really works.
This group is the typical office worker. Throughout the day, they may use 10-20 different applications to get their job done – from Word to Acrobat to Chrome. They occasionally also access things like WebEx conferences, watch streaming video, and use VoIP applications. Because of their varied use of resources, it is a bit harder to size a VDI environment for this type of user – below I provide a guideline, but the best way is to pilot with 10-30 users to see how your environment really works.
Needed Resources:
5-10 Users/Core
4GB RAM, 4GB SWAP per user
125Kbps-1Mbps network bandwidth
30-60 IOPS Storage
30-60GB Storage Space
Power Users
A power user is the hardest desktop user to virtualize. Their use of specialized, graphically-, CPU-, or memory-intensive applications makes them the last to be moved to the VDI environment – if they’re moved at all. The best bet with a power user is to have your partner do an assessment on the user (Lakeside or VMware Capacity Planner, for example) to see what each user will individually need to get the best performance out of their virtual desktop.
A power user is the hardest desktop user to virtualize. Their use of specialized, graphically-, CPU-, or memory-intensive applications makes them the last to be moved to the VDI environment – if they’re moved at all. The best bet with a power user is to have your partner do an assessment on the user (Lakeside or VMware Capacity Planner, for example) to see what each user will individually need to get the best performance out of their virtual desktop.
Needed Resources:
1-2 Cores/User
4-8GB RAM, 4-8GB SWAP per user
125Kbps-10Mbps network bandwidth
90+ IOPS Storage
30-100+GB Storage Space
So, now that you have an idea of
what the resources needed are for each user type, the question becomes: how do
I get my users the performance they need?
The easiest things to do are add additional servers and network
bandwidth – once you have enough CPU, RAM, and Network, the only thing left
affecting performance is the storage IO.
I’ve found that a SSD (Flash)-based
system is the best way to give users the IOPS they need without having to buy
tens to hundreds of spinning SAS disks.
Each SSD can provide up to 30x the random IO of a 15K SAS disk – keeping
your datacenter space, power, and cooling costs down. Think
about it – with 1000 Knowledge Workers, you would need 30,000 IOPS – or about
200 15K SAS disks. With a properly
configured SSD-based SAN, you could support the same number of users with only 8-12
SSDs. Your only issue now is space – 8
SSDs can only store 1.6TB of data – so what do you do?
Well, you can use Linked Clones,
but even VMware says that’s not the fastest: “Because a full clone does not
share virtual disks with the parent virtual machine, full clones generally
perform better than linked clones.”[i]
So instead, I recommend using a SSD storage system with deduplication built in,
like the GreenBytes IO Offload Engine[ii],
so you can get the performance and full-featured virtual desktop user
experience of SSD-stored Full Clones, with the space utilization of Linked
Clones!
So net-net – to make your users
happy about the speed of their Virtual Desktops, do three things:
- Size the servers correctly for each user type.
- Make sure each local and remote user has the requisite amount of bandwidth necessary.
- Get a SSD-based SAN with deduplication built in so you can provide the IOPS without having to over-spend on capacity.
No comments:
Post a Comment