I have a VM that currently uses 4 CPUs and 16 GB of memory, but is still dragging in performance. I thought about upgrading the ESX license to ENTERPRISE PLUS, but a tech at VMWARE told me that many users report only minimal performance gain from adding more CPUs since the additional scheduling load onto the CPUs mitigates any performance gains. My question is how do I determine if I should continue tweaking the VM setup or just go back to using a physical server with the memory (16 GB or more) and processors (probably 2 X quad core) that is needed? It sounds like the decision is pretty obviously but I'd like more info to back it up.
Hello and welcome to the forums.
The easiest way right now would be to monitor the CPU Ready value and see if too many vCPUs is causing the problem. Check out Jason Boche's excellent article on CPU Ready.
What is your workload on the VM? Is it a database server?
What is the specifications of your hosts? Nehalem CPU?
What exactly is dragging? If you go into performance manager does it show high utilization of any one resource?
For performance tuning an OS I start with a single CPU and a couple GB of RAM and then work my way up. Is this what you did or did you start with a massive box?
What else is running on the hosts? Have you tried turning off or moving everything else off this host to see what happens?
What is the OS of the server? If anything prior to 2008 have you tried assigning a minimum reservation for the VM?
First you need to look at your performance charts in vCenter. Check CPU usage, Memory usage, CPU ready time, disk latency, network utilisation.
What application are you running. Depending on your application there are guides for tuning Java, SQL etc.
Also what hardware are you running for your hosts? What storage are you using? How many other VMs are you using and do you notice any performance issues with those?
Does the server have snapshots? Because snapshots can decrease performance of a server, expecially old forgotten snapshots.
I ran performance reports for CPU Ready Time and it was peaking at 80,000 milliseconds in short bursts around the time we were having the problem. The VM in question is configured for 4 vCPUs and 16 GB of memory. This seems like a very high CPU Ready Time. How do people address this problem? I am going to run more reports and see if any other abnormalities appear. Lastly. I have attached a report of our CPU usage and Ready Time during a recent overnight slow performance on 6-16-6/17.
This server is reindexing a Powerflex database at this time. It does not run SQL or Java. Other programs do read/write requestes to a virutal disk on the server.
The EXS Host hardware is (2) Xeon Quad Core processors and 96 GB memory. We don't see any performance issues with any other of our VMs. We have dozens of VMs spread across 5 ESX hosts. All VMs are stored on a SAN with ample available storage.
We took a snapshot of this server and it still exists. We will be deleting it tonight.
Have a look at this - for identifying your performance issues: http://www.yellow-bricks.com/esxtop/