It can never be said enough! Don´t overprovision your VMs. There, I said it again.
Overprovisioned VMs is probably the most common problem in vSphere Environments around the globe and, sadly, the business application industry still haven´t grasped this and continues to demand monster VMs in order to support their Products.
But there comes a time when you are forced to troubleshoot performance in your Environment, although your expensive, state of the art datacenter, was designed to run for years to come. Suddenly you´re running out of Resources in your cluster(s).
To prevent this form happening a few golden rules can come in handy.
Make sure you have enabled the hot-add feature for vCPU and vRAM on your VMs. This can only be done when the virtual machine is powered off but it´s better to Power it off once than every time you want to change Resources. Windows Server 2008 and newer supports both these features. See VMware kb 2051989 for a complete support matrix.
vRAM is better
Always try more vRAM Before adding extra vCPUs. Basically the same rule that has been used for many years now to speed up physical Windows computers.
Easy on the vCPUs
More vCPUs can improve perfomance but only up to a Point. The CPU Scheduler in your hypervisor has to Schedule the instructions from your vCPUs at the same time, More vCPUs makes it harder for your hypervisor to do this.
So how do I respond to my suppliers demands? The answer is, you don´t. Instead suggest a compromise that you start on a “reasonable” level and add more vCPUs and vRAM if and when it´s really needed.