We are new to Nutanix. We are migrating from ESXi to AHV. We currently have some level of CPU oversubscription in place on ESXi. We anticipate the need to oversubscribe CPU on some clusters and I am looking for ways to do this safely. I’ve looked in the Best practices guide but there was very little there. Any help would be appreciated.
Best answer by Sergei IvanovView original
if you are migrating from ESXi to AHV you can use similar CPU oversubscription as on ESXi. If you are migrating from non-Nutanix, just do not forget that on Nutanix there are also CVMs on each host that can sometimes utilise quite some part of the CPU resources and they have to be taken into account.
Typically, if you currently have for example 3:1 ratio on ESXi and you have no problems there, you most likely also will have no problems with 3:1 ratio on AHV.
In general, there is no rule of thumb for the physical-to-virtual cores ratio. It depends a lot on your workload and what kind of applications you run. For example, for SAP HANA or very heavy OLTP databases it might be better to not oversubscribe at all. For small databases some kind of oversubscription can be ok and for VDI it can be much higher. If you run specific workloads, such as for example SQL, Oracle, etc, you can check our best practices for those solutions on the portal - https://portal.nutanix.com/page/documents/solutions/list.
In general, i would say:
But don’t take it as a rule. It is just a rough estimation based on average workloads.
That is very helpful. One follow up, is there any optimal way to set up vCPUS/cores to help with this. Just with respect to oversubscription, would it make an difference if we had a 4 CPU system set up as 4 vCPUS with one core, 2 vCPUs with 2 cores, or 1 vCPU with 4 cores.
There is no difference for the AHV hypervisor whether it’s vCPUs or cores per vCPU in the VM config.
We always recommend to use vCPUs first, so if you need a VM with 4 CPUs in total - just use 4 vCPUs and 1 core per vCPU. The only purpose of those settings is that some older guest operating systems have limitations in the amount of cores and/or sockets, so for legacy OSs it might be useful. Also, some software is getting licensed by the amount of sockets, then it might be useful to use multiple cores per vCPU to get less sockets. For performance there is no difference.