ESXi Server with dual quad core CPU - what is the recommended setup for VM's

Hi

We have a Dell R710 with dual quad core CPU's -  We have installed ESXi 4 with local storage, we would like to run two Vm's (Windows 2003 DC and Windows 2003 Exchange) how should we configure the VM's ?  Single CPU or 2 or 4 per VM?

Thanks
pancho15Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

coolsport00Commented:
Yes...all you will need is a single vCPU per VM. If you configure any more, when it's not needed, you can actually hurt performance. You can read more about CPUs in the Resource Mgmt Guide:
http://www.vmware.com/pdf/vsphere4/r40/vsp_40_resource_mgmt.pdf

What I recommend is to beef up your host with RAM...minimum 16GB. It's too cheap anymore not to.

Regards,
~coolsport00
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Alex GalbraithSolutions ArchitectCommented:
If you do not plan to run any more VMs than this at all, you will be wasting CPU resource by not giving them extra cores each.

I would almost always suggest to anyone, they start with single vCPU VMs for any system, however in this specific instance, theres no harm making them dual CPU VMs (assuming you have no plans for any further VMs).

With Hyperthreading off you have 8 logical CPUs (2x4 cores). If each VM uses 2 cores, you will never have the issue where a VM is waiting for CPU resources being locked, but unused by a second vCPU. If you increase to further VMs however this will no longer necessarily be the case, and the allocation of more than 3 further vCPUs to additional VMs will potentially lead to resource contention.

This question is also dependant on your application load. I assume that because you are using 1 ESXi server for your DC and Exchange box, you are an SMB with <100 users (prob less than 20)? If your load is higher, your DC will probably be ok on one vCPU, but your Exchange VM will definitely benefit from a second one. In this case you would still have 4 vCPUs to allocate to other VMs before any likelihood of contention.

In summary, if you dont plan any/many more VMs on that server, theres no harm having 2 vCPUs per VM. Just remember to monitor your resources closely once you begin to apply load.
0
coolsport00Commented:
I disagree with the above somewhat. ALWAYS configure ONE vCPU initially. With the extreme light load on the ESXi host, you are not in need of configuring more than one vCPU. I have 2 DCs, and 1 Exchg (250 users) hosted on a cluster of 2 ESX hosts, along with 20 other various VMs (sql 2K5, file storage, web, etc, etc.) and have ONE vCPU per VM. Again, performance of the VM (not host) could be degradated if you configure more than 1 vCPU on a VM, and noticeably slow. Will configuring more than one vCPU harm anything?...no, nothing will break, but it *could* (not saying it will, but could) hurt VM performance. As stated above, configure with 1 vCPU and then add another if performance is sluggish. Even before adding another vCPU though, I would recommend looking at RAM and increasing that first.

Regards,
~coolsport00
0
Powerful Yet Easy-to-Use Network Monitoring

Identify excessive bandwidth utilization or unexpected application traffic with SolarWinds Bandwidth Analyzer Pack.

Alex GalbraithSolutions ArchitectCommented:
99.999% of the time I would agree with you coolsport, but as I say in this case, if he plans not to use any further VMs there is no harm in adding that second vCPU. Without utilising these unallocated CPUs, he will actually get lower performance on the Exchange server (OS and App both contending for the same single CPU).

The issue you describe is caused when there are VMs with 2+ vCPUs, only utilising one vCPU at any time. They may only need one, but they lock both physical CPUs every time they need resources. This can lead to contention if any further vCPUs are required by other VMs at that time, something which will not affect a box with 8 logical CPUs and only 4 vCPUs assigned.
0
coolsport00Commented:
That's why I said I 'somewhat' disagree with you :)  I still would configure with only 1...to start with. With only 2 VMs though, and 8 cores?...that's a lot of power that's free. Either way, he'll be fine. With only 2 VMs, I don't think there will be a noticeable performance issue one way or the other. Actually though...with Exchg I do agree with you on that...I actually would increase that to 2 vCPUs. Exchg LOVES resources...CPU and RAM. :)

~coolsport00
0
bbnp2006Commented:
99% of the time from my projects with different types of clients, more often the resource contension is from the RAM, not the CPU. And I agree with coolsport00 that I always give 1vCPU initially to test the performance. Almost all clients are surprised by the performance of the VM using only 1vCPU, either the same as the physical server with 2 or sometimes 4 physical cpu, and sometimes it out perform the original physical box.
More RAM if you can will definitely give you a much better performance. If the application running on the VM doesn't specifically designed to take advantage of SMP, don't allocate more than 1 CPU as it will hurt the performance as I have seen it many times.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Virtual Server

From novice to tech pro — start learning today.