Avatar of Durges
Flag for United Kingdom of Great Britain and Northern Ireland asked on

hyper V CPU question

Basic Hyper V CPU question

Server 2 CPU 8 Cores each

I want to know a rough broad answer to how I should assign VCPUS in Hyper V. This is a simple scenario with no unexpected usage or complex requirements

For this scenario we will say 30 users that are using normal everyday functions. File Print, AD. There is an RDS server that is used for office apps users and a database by 10 of the 30 users. The database is low intensity with infrequent complicated queries that take 5 minutes to process. The database is run on an SQL 2016 Server that is its own VM. I am not going to bring Disks and Iops into this. I am familiar with how these should be done.

Server 1 2016 AD 8GB 2VCPU
Server 2 2016 Print server 8GB 2CPU
Server 3 2016 RDS 16GB 8VCPU
Server 4 2016 SQL 2016 32GB 8VCPU
Server 5 2016 VDI for a specific high performance user to run infrequent large excel queries 16GB 8VCPU

Does this look reasonable? My aim is to reasonably protect functions like print and AD while giving a large amount of CPU to DB and excel functions as required. The larger CPU draws are infrequent and it is important they are prioritised.
Windows 10Hyper-VAzureWindows Server 2016

Avatar of undefined
Last Comment

8/22/2022 - Mon
Cliff Galiher

I woikd probabky start with 2 vCPUs on all VMs then start performance tu ing based on incoming data.

Especially starting multiple VMs at 8, when each real CPU only has 8 cores, you could have unintended consequences of time sharing across processors and hurting performance.
Aaron Tomosky

Definitely don't overprovision the vcpu to real cpu, 16 should be your max unless you have competing VMs at different times, and ideally hyperthreading to help. If you license sql by core, them you should give it 4 as that's the min, 2 to everything else and the rest to RDS to make 16.

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
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

Most of the time the total cpu usage is very low. Maybe 10 - 15% max total between all VMs as you can see they are not doing very much. However when I do need them to do something they all max out at 10% of total cpu and take a long time to complete the task. I really want them to be able to take what they want when they want...  I cannot seem to get the ability to assign a larger piece of Cpu availability without giving more cores. Why shouldn't I over provision in this scenario? I understand if this was a very high load host and things were competing but they just are not competing.
Your help has saved me hundreds of hours of internet surfing.

what is disk used for this base server?

It is fibre channel storage?
it is 15K SAS disks?

it is 10K scsi disks?

the slowness caused by disks I believe since you  are saying that only 10% of overall physical CPU is utilized....

also what about assigned memory, is it paging out more? I mean check your memory allocation and monitor page file counter, if its going beyond 50% than assigned meory, you should add more memory..

yet we have not checked that part I believe

Thanks for the help.