
Virtualizing large databases - VMware CPU capacity planning
I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere. This post was originally written in 2017, I am updating the post in February 2026. For context I have kept the original post, but highlighted changes. This post was originally written for ESXi 6.0. The core principles remain valid for vSphere 7.x and 8.x, though there have been improvements to vNUMA handling, CPU scheduling (particularly for AMD EPYC), and CPU Hot Add compatibility with vNUMA in vSphere 8. Always consult the Performance Best Practices guide for your specific vSphere version. For a deeper dive see the "Additional links" section at the end of the post. Changes are marked with: UPDATE 2026: ... In summary there are a few simple best practices to follow for sizing CPU for large production databases: Plan for one vCPU per physical CPU core. Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node. Right-siz
Continue reading on Dev.to Beginners
Opens in a new tab




