Physical to Virtual Machines

I have series of Physical to Virtual machines currently sitting on VMware estate. All of them are running 2k3 and were originally Dell PowerEdge systems with a variety of CPU types.

Some systems have come across with 4 CPUs, other have just one 1. Do all of these systems, now they have become virtual, require CPU allocation to be the same ?

i.e  2 Virtual sockets, 1 core per socket for all ?

Please bare in mind these are only running standard windows services, nothing heavy like SQL or Exchange.
L-PlateAsked:
Who is Participating?
 
Andrew Hancock (VMware vExpert / EE MVE^2)Connect With a Mentor VMware and Virtualization ConsultantCommented:
Correct (cores = 1)
0
 
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
No, they do not have to be all the same.

Start off with a single  (1) vCPU, and add more if applicable. I would reduce to 1 vCPU socket, and check performance.

It's not often that a VM requires more than 2-4 vCPUs.

vSMP (virtual SMP) can affect virtual machine performance, when adding too many vCPUs to virtual machines that cannot use the vCPUs effectly, e.g. Servers than can use vSMP correctly :- SQL Server, Exchange Server.

This is true, many VMware Administrators, think adding lots of processors, will increase performance - wrong! (and because they can, they just go silly!). Sometimes there is confusion between cores and processors. But what we are adding is additional processors in the virtual machine.

So 4 vCPU, to the VM is a 4 Way SMP (Quad Processor Server), if you have Enterprise Plus license you can add 8, (and only if you have the correct OS License will the OS recognise them all).

If applications, can take advantage e.g. Exchange, SQL, adding additional processors, can/may increase performance.

So usual rule of thumb is try 1 vCPU, then try 2 vCPU, knock back to 1 vCPU if performance is affected. and only use vSMP if the VM can take advantage.

Example, VM with 4 vCPUs allocated!

My simple laymans explaination of the "scheduler!"

As you have assigned 4 vCPUs, to this VM, the VMware scheulder, has to wait until 4 cores are free and available, to do this, it has to pause the first cores, until the 4th is available, during this timeframe, the paused cores are not available for processes, this is my simplistic view, but bottom line is adding more vCPUs to a VM, may not give you the performance benefits you think, unless the VM, it's applications are optimised for additional vCPUs.

See here
http://www.vmware.com/resources/techresources/10131

see here
http://www.gabesvirtualworld.com/how-too-many-vcpus-can-negatively-affect-your-performance/

http://www.zdnet.com/virtual-cpus-the-overprovisioning-penalty-of-vcpu-to-pcpu-ratios-4010025185/

also there is a document here about the CPU scheduler

www.vmware.com/files/pdf/perf-vsphere-cpu_scheduler.pdf
0
 
jhyieslaCommented:
No, there's no reason to have them sucking down excess CPU if it's not needed.  And you should be able to adjust down without an issue, although it will require you to take the VM's down to make the change.
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
L-PlateAuthor Commented:
Thanks for you responses both of you.

Hancocka, which section are you referring to change ?

Is it Number of Virtual sockets or Number of cores per socket ?

Would comparing a physical machines hardware platform been taken into consideration for CPU allocation ? i.e a 2008 box has a 2 physical CPUs, each being quad cores.

Would it be safe to transfer that config virtually ?
0
 
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
change to 1 vCPU socket. (cores is usually altered for licensing reasons).

always use 1 vCPU and adjust.
0
 
L-PlateAuthor Commented:
Ok

So I can adjust virtual sockets to whatever I need in regards to performance and reduce the cores per socket to 0 as this is purely for licensing requirements.

correct ?
0
 
L-PlateAuthor Commented:
thank you, sorry for the delay
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.