VMware guest performance


We have two identical HP DL580G5 servers with 32G RAM, one volume on a 1TB RAID 5 across 8 drives attached to the integrated P400 controller, 16 processor cores at 3Ghz, running VMware Vsphere 5.0 HP OEM version. So, this should be using all of the latest drivers and such for VMware. One guest on one host at this point. VMWare tools are installed on the guests.

We successfully moved two legacy servers into the virtual environment and they are now in production while new systems are being put into place.

The guests are Windows 2000 Server (being phased out) and were remarkably quick when they were on very puny hardware (512M RAM Dual 900Mhz processor Dells.)

Each guest now has 4 processors (they were on the multi-processor kernel) and 4G RAM, but performance feels pretty much the same as on the old hardware even though task manager shows it as "not very busy." We chalked it up to Windows 2000 shortcomings and went on our way.

However, we now have installed a Windows 2012 Server guest from scratch with VMware tools installed. This guest has 28GB RAM and 8 processors (2 quad-core processors given to it.) It is currently running only as an active directory domain controller with nothing accessing it. Task manager shows it idling at 0% cpu, gobs of resources, yet it feels "sluggish."

I have no empirical evidence of it actually being slow because it doesn't do anything at this point. We installed SQL Server onto it for a small application and the installation seemed to take a long time with a long time to reboot. (I know these are all subjective terms but I have no other way of putting numbers to it.)

Any ideas, pointers, suggested ways of testing speed on a guest?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I would perform 2 tests personally.

1. IOmeter - allows testing disk and network resource on the guest
2. ESXTOP or RESXTOP - metrics on the host while 1 is running.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Do you really need to 28GB RAM and 8 vCPUs for a Domain Controller?

Adding more processors to a VM, can make it slower, not faster, if application cannot make use of vSMP.

We would setup 4GB RAM and 1 vCPU for a Domain Controller, do not get excited about adding lots of CPUs because you can!

As for your Windows 2000 servers the same applies, do you need to have 4 vCPU (4 processors in the VM), sometimes multi-processor HALs, can cause this issue.

How did you get the Windows 2000 servers on ESXi, P2V? If these had two CPU, why have they know got 4?

Also as you are using the Smart Array P400 Controller, do you have the Battery Backup Write Cache Controller for this, and enabled, and set to 75% Write, 25% Read?

My advice, remove the vCPU, and try 1, with Windows 2000, returning to a single still could cause issues, with a single processor on a mult-HAL, so you would need to change the HAL to uniprocessor.

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

see here


also there is a document here about the CPU scheduler

ChrisHelveyAuthor Commented:
The new Windows 2012 server will be an SQL server (and a domain controller - yes, I know they don't recommend it, but this is a small operation.) I see no reason in NOT giving hardware resources to a single guest. If adding processors to a single guest is going to slow down the system, then I need to get it out of the virtual environment. In a non virtual environment, SQL server will take advantage of all of the memory I give it and all of the processors available.

I will follow up with the speed tests.
Newly released Acronis True Image 2019

In announcing the release of the 15th Anniversary Edition of Acronis True Image 2019, the company revealed that its artificial intelligence-based anti-ransomware technology – stopped more than 200,000 ransomware attacks on 150,000 customers last year.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Adding vCPUs to a VM, that does not require them will slow down the Virtual Machine, not the System - Host, it's called Oversubscription.
ChrisHelveyAuthor Commented:
I understand. Yet this is SINGLE guest. Am I being told to remove processors to speed up my single guest? I'm game. It just seems so backwards. I'll read up on the provided links. Thank you for the input, by the way.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
Correct. Its true. Its the CPU scheduler. Try it!

Also SQL can be an awkward server to virtualize and get good performance.

Don't forget the BBWC as well.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ChrisHelveyAuthor Commented:
You guys are on to something here for sure. I don't believe the BBWC is enabled. Attached is what I see in the "status" for the host. It shows no "Battery on HPSA1." I know for a fact this system actually has the 512M battery backed cache.

Is there something I need to do to enable it in VMWare?
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
You can only enable and check the status and configure, by running the Array Configuration Utility, from the HP Smart Start DVD, which means a reboot of the server, boot from DVD.
ChrisHelveyAuthor Commented:
Very interesting reading you pointed me to. Thanks for that. I feel I have a good direction to move in and will work on restarting the host into smartstart (or maybe the F8 array configuration on POST?) as soon as I can. First, gotta get that cache enabled and then remove unneeded processors until the server needs them.

Thank you for your suggestions and verbose explanations. Very appreciated here.

I'll close this now.
ChrisHelveyAuthor Commented:
You made a considerable effort at explaining in detail. Excellent help. Thanks.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.