VMware Horizon Community
JasonMathew
Contributor
Contributor

Vcenter Resource Pool setup for VDI Environment

I am needing guidance on setting up a Resource Pool vCenter for my Horizon View 7.4 VDI Environment.   I have a total of 500 sessions which consist mostly (95%)  of Windows 7 32bit  Linked Clones.   I am having CPU contention on our cluster during various times of the day and hosts being almost 100% utilized during these times.

My vCenter DRS enabled cluster consists of:

* 8 ESXi hosts Version (6.0.0)

* Total CPU Resources - 580GHz

* Total Processors -         224

There are currently no resource pools in our environment , my idea was to create one for Windows 7 and one for Windows 10 but would like guidance on what to account for as in shares and limits.    

2 Replies
techguy129
Expert
Expert

Do you know what is causing the CPU contention? There are many factors such as just not enough resources to support all the VMs or giving to many vCPU to VMs which causes CPU scheduling contention, etc.

My thoughts:

If you're maxing out some of the hosts then consider using DRS. Shares are for giving priority and/or reserving resources. Resources pools do allow you to limit the amount of CPU that can be utilized. A resource pool doesn't limit on a per VM but as a collection so you'll be in the same situation.  If you are considering all your desktops to be of equal priority then I don't see a reason for resource pools. You would want to consider adding more esxi hosts.

sjesse
Leadership
Leadership

Do you have any metrics you can look at. The only reason to use resource pools is to limit a subset of vms to a certian limit. Setting a resource pool by OS I don't think will help. What I've done is created a resource pool for different groups, since they have there own desktop pools. Then  if I see contention caused by them doing an unusual amount of cpu I can change the priority of there vms. Resource pools only kick in on times of contention, so you really need to find what vms are more important then other ones. I'd be careful with resources pools, especially nested ones, becuase resource pools split up the resource shares they get. VMs of the same size split a resource pool evenly, but if you have different sizes bigger VMs get more shares. Nested resource pools are treated like on VM if one is in a resources pool with other VMs. So if your not careful its easy to starve a VM if you don't do the math correctly. Instead of resource pools I would also look at reducing the number of cpus available if possible, are the desktops actually using all the cpus assigned? Look at the metrics again and see if anything is getting wasted, VMs may be doing minimal work in the other cpus, which limiting them may actually save resources, or at least create a bottleneck at the VM level for people using all of them at once.

Reply
0 Kudos