Avatar of dpmitsolutions
dpmitsolutions
 asked on

Logical Processors in VMware

I have an HP Proliant server with 1 processor 4 Cores and 8 Threads. I installed VMware esxi 4.1 in this server and created 3 VM's  
1) The Domain controller which I allocated 1 vCPU
2) The Application Server which I allocated 1 vCPU as well
3) The Terminal server which I allocated 4 vCPU The problem here is that the terminal server runs very slow only 5 users are using the TS with an application that is CPU hungry (Leap Accounting/Document) System.

I am also confused if I allocated the vCPU correctly.  Because on my perception the 8 hyper threads = 8 logical processor = 8 vCPU's.  Can someone shed light on my questions. Thanks in advance.        
Microsoft ApplicationsVMware

Avatar of undefined
Last Comment
dpmitsolutions

8/22/2022 - Mon
coolsport00

Your assumption is correct as far as what you should allocate to your VMs. You are also correct in that if you have a single socket 4-core host with hyperthreading enabled, you will have 8 logical cores. 1 vCPU does 'not' necessarily equal 1 Core, though. A VM will access and consume as much CPU resources as needed for the given process it sends to the CPU. All of that is assuming no affinity rule is set. You can reference the CPU Scheduler whitepaper for more info:
http://www.vmware.com/files/pdf/techpaper/VMW_vSphere41_cpu_schedule_ESX.pdf

Regards,
~coolsport00
coolsport00

Forgot to answer the one on why, or potentially why, the contention on your 1 VM. You can actually get degraded performance if you OVERALLOCATE vCPUs to a VM. Both the Sched whitepaper & Resource Mgmt Guide explain this a bit more in detail as to why. So, that being said, allocate to the VM only what is needed or what the sys req's are for the OS and/or apps installed on it. Give the VM 1, or maybe 2, vCPUs. Then, potentially add more RAM if you still notice performance issues.
ASKER CERTIFIED SOLUTION
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

Does the vendor recommend the use of concurrent terminal services for the Leap application?
Your help has saved me hundreds of hours of internet surfing.
fblack61
Danny McDaniel

you should read "Allowing vCPUs of an SMP virtual machine to share an HT-enabled core might improve performance - http://kb.vmware.com/kb/1034929 "

excerpt:  HyperThreading (HT) technology is adopted again with recent Intel processors. Typically, two logical processors are presented per physical core. As these two logical processors compete for the same pipeline in a core, the computational capacity of one logical processor is less than that of a core. Utilizing both logical processors provides 10% - 30% higher throughput than when only one logical processor is used. Therefore, the capacity of each logical processor when both processors are busy is about 55% - 65% of a single logical processor running alone on the core
dpmitsolutions

ASKER
Yep I think we have the same observation TS should run in a separate physical hardware. Before it was running smoothly when the TS is not on a virtualized environment.

Thanks anyway.