VMware Cloud Community
isteam
Contributor
Contributor

highest performing HyperThreading configuration for high-end virtual servers?

We've built a cluster based on Dell 6850s. 4 Processors, Dual Core, HT capable. This is our 3rd cluster here, and this one will only house high-end, processor intensive virtual servers, which for us is typically a SQL 2005 box. They will be configured to have "4 CPUs" in VIC.

At first my colleague and I reasoned that we should turn off HT on the host (through the host's configuration tab in VIC). We figured that when one of these SQL servers demanded a lot of processing power, we didn't want it to end up with possibly with 2 "real" cores and 2 "HT logical" cores (since we assigned "4 CPUs").

But now reading the Performance Tuning Best Practices document, page 13, HT section, I'm a little confused () on whether we should do that, OR, should we leave HT on at the hosts but set the virtuals that need maximum processing power to the "Hyperthreading Sharing - NONE" setting. Further muddying things is the statement:

"If there is no work for a logical processor, it is put into a special halted state, which frees its execution resources and allows the virtual machine running on the other logical processor on the same core to use the full execution resources of the core."

So let's say there's a bunch of SQL servers, most running "mild" and one running "heavy" if you will. Won't all the logical processors be slightly busy, therefore, none will be halted, and therefore the one "heavy" machine may be sharing a logical processor with another virtual server, and thus not running at the absolute highest performance possible?

I know that's a lot of questions, so let me sum it up: How do we configure HT on the hosts, and on the VMs, when trying to get absolute maximum processor performance out of ESX?

Thanks

Brian

0 Kudos
0 Replies