VMware Cloud Community
grp
Contributor
Contributor

ESXi 5.1 and multiple CPU guests

Hi all,

we have an HP Proliand DL360G7, which has two 4-core Xeons. At the moment we run only 32-bit guests (due to transfer from older system), and only CentOS5 and Windows Server 2003, with relatively basic usage (Email server (approx 1500 users), web servers, DNS & VPN servers). I would like to ask if there is a meaning in setting the guests to use multiple CPUs. Will it increase or decrease performance?

0 Kudos
6 Replies
jrmunday
Commander
Commander

The question can't really be answered conclusively without know more about the virtual machine configuration and current performance.

On one hand, yes by addiing additional resources to the virtual machines will increase performance ... and on the other hand, if you overcommit your hosts and introduce excessive SMP then you could actually degrade performance by inducing %RDY (ready time).

I would use esxtop, the built in performance charts, perfmon with the windows guests, etc. to review the existing perfomance metrics for any bottlenecks and remediate as required. Make sure you look and all resources to get a full overiew of performance - host capacity, processor utilisation, memory commitments, network throughput, disk latency, etc.

vExpert 2014 - 2022 | VCP6-DCV | http://www.jonmunday.net | @JonMunday77
sparrowangelste
Virtuoso
Virtuoso

grp wrote:

would like to ask if there is a meaning in setting the guests to use multiple CPUs. Will it increase or decrease performance?

If you ahve software that can take advantage of the multiple cpus than it can help, however how is the current load on your vms?

Is the cpu usage low already? then adding a extra vcpu wont help most likely.

--------------------- Sparrowangelstechnology : Vmware lover http://sparrowangelstechnology.blogspot.com
grp
Contributor
Contributor

Thanks for the replies.

Well, I wasn't exactly thinking in terms of performance (currently). To put it in a different way, I don't have performance issues at the moment. However I wanted to be sure that my configuration is optimal (even if not needed right now). Or, in yet another way: Say I will create  a new VM now, that will become our mail server in the future. At least one application, mail virus scanning (MailScanner) claims it takes advantage of multiple CPUs. Is it wrong practice to create each VM with the best possible configuration based on host CPUs?

One other question. As you know we have two physical processors, 4 cores each. What is the proper way to create a multi-CPU VM? I can see that one can make combinations of physical CPUs and cores, and create, for instance, a VM having 4 physical VCPUs, 2 cores each. I think I make my point.

0 Kudos
jrmunday
Commander
Commander

One other question. As you know we have two physical processors, 4 cores each. What is the proper way to create a multi-CPU VM? I can see that one can make combinations of physical CPUs and cores, and create, for instance, a VM having 4 physical VCPUs, 2 cores each. I think I make my point.

In terms of performance there should generally be no difference between a VM created with 1 vCPU and 4 cores or with 4 vCPUs, each with a single core - in both cases you get 4 vCPU's (cores). Where this does become a consideration is when you have an application that is licenced per socket, then it is more cost effective to configure the VM with 1 vCPU and 4 cores, instead of 4 vCPUs (each with a single core).

vExpert 2014 - 2022 | VCP6-DCV | http://www.jonmunday.net | @JonMunday77
0 Kudos
jrmunday
Commander
Commander

Is it wrong practice to create each VM with the best possible configuration based on host CPUs?

The VM should only be allocated what it needs, remember this can always be increased later (some resources hot added if enabled), so understand the requirements, start small and grow as required.

vExpert 2014 - 2022 | VCP6-DCV | http://www.jonmunday.net | @JonMunday77
0 Kudos
sparrowangelste
Virtuoso
Virtuoso

grp wrote:

To put it in a different way, I don't have performance issues at the moment. However I wanted to be sure that my configuration is optimal (even if not needed right now). Or, in yet another way: Say I will create  a new VM now, that will become our mail server in the future. At least one application, mail virus scanning (MailScanner) claims it takes advantage of multiple CPUs. Is it wrong practice to create each VM with the best possible configuration based on host CPUs?

If a software says it can take advantage of multi cpus, start with 2 vcpus then work your way up.

One other question. As you know we have two physical processors, 4 cores each. What is the proper way to create a multi-CPU VM? I can see that one can make combinations of physical CPUs and cores, and create, for instance, a VM having 4 physical VCPUs, 2 cores each. I think I make my point.

For multivcpus you can go either way. Its really there for licesnign where some vendors charge per cpu, so you can just add more cores instead. Mix and match as you want.

one thing with hot add vcpus is that you cannot hot add a core, you can only hot add a socket.

http://sparrowangelstechnology.blogspot.com/2012/11/hot-add-of-cpu-and-memory-to-virtual.html

--------------------- Sparrowangelstechnology : Vmware lover http://sparrowangelstechnology.blogspot.com
0 Kudos