I have a server that is a 2x4 (dual-quad) with HT enabled. So i "should" have 16 vCPU's total to work with. I have a VM that has been allocated 8 of those CPU's. I have NO other VM's on that system.
If I turn off HT how much of a performance increase will i get? Not looking for exact numbers but just a rough estimate. But I am thinking about 20-30%. That about right?
I welcome any feedback. Just trying to get an idea
Noob
I don't think there's real benefit by turning off HT in your situation. But if you want to benefit the CPU efficiency on both host and the VM, look at your VM if it is fully utilising all 8 CPUs over 50% average. If not, reduce the number vCPU assigned in order not to waste ESX's CPU scheduler time.
Thanks. I am really trying to see if I need to move this VM to different hardware to get better performance. CPU's are all over 50% most of the time.
Thanks. I am really trying to see if I need to move this VM to different hardware to get better performance. CPU's are all over 50% most of the time.
to be completely honest with you, to get better performance out of your guest, I would suggest starting with a lower number of vCPU's. 8 seems to be pretty high. Why not go with 2vCPU's and see if that helps?
More CPU's per guest is not always better, and in most cases, it tends to degrade performance.
I would tend to agree with you that throwing more CPU's at a problem might not be the best option. The server is a DB server in one of out data farms and has quite a few customer DB's on it. We are wanting to see if we can get better performance with out having to upgrate the hardware.
I have a server that is a 2x4 (dual-quad) with HT enabled. So i "should" have 16 vCPU's total to work with. I have a VM that has been allocated 8 of those CPU's. I have NO other VM's on that system.
If I turn off HT how much of a performance increase will i get?
If you have no other VMs on the host then you would probably not get any performance increase at all by disabling Hyper Threading. Since the vmkernel is HT aware it will try to use only one logical CPU per core when it is possible. So in your host without any other VMs the HT impact should be very small, if for such large vCPU VM.
ricnob,
really good point. The scheduler is quite well optimized and will do the right thing out of the box.
hmmm... I didn't think of that. I don't have an option for a new box so I might have to go back to running it on hardware.
Any other options you can think of?
you can read about the scheduler.
As they both pointed out,
less cpu's make it easier to schedule the vm's workload, but on a server that does not exceed the physical cpu count it should get ok performance.
Going back to physical might not signifigantly improve performance. Normally high cpu in many cases for sql server is caused by inadeqauate indexes and inadequate ram.
You might want to see where the bottleneck is exactly inside sql server:
