How many vCPUs can I have?
-
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
The maximum you CAN have is 240 vCPUs per VM, which is a limitation of Hyper-V Server 2016.
How did you determine that Hyper-V is involved?
Yes, we know Hyper-V's limits, but how did you know that he has Hyper-V in the first place? I've done a text search and until you said it, it was never mentioned in the thread.
It's like Apple or Arch Linux... if someone is using it, they WILL tell you. That he didn't say he was, tells me he's using Hyper-V.
So your hypothesis is that a lack of pertinent information means it is a Microsoft user?
Am I wrong?
-
@Obsolesce said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
@Obsolesce said in How many VCPU’s can I have?:
The maximum you CAN have is 240 vCPUs per VM, which is a limitation of Hyper-V Server 2016.
How did you determine that Hyper-V is involved?
Yes, we know Hyper-V's limits, but how did you know that he has Hyper-V in the first place? I've done a text search and until you said it, it was never mentioned in the thread.
It's like Apple or Arch Linux... if someone is using it, they WILL tell you. That he didn't say he was, tells me he's using Hyper-V.
So your hypothesis is that a lack of pertinent information means it is a Microsoft user?
Am I wrong?
Just making sure that I understood you.
Although in these cases, I would say that VMware is just as likely.
-
My rule of the thumb is start with 1 vCPU if it's Linux vm, 2 vCPUs if it's Windows, unless you enjoy Windows updates or Antivirus scans taking hours to complete....
-
@marcinozga said in How many VCPU’s can I have?:
My rule of the thumb is start with 1 vCPU if it's Linux vm, 2 vCPUs if it's Windows, unless you enjoy Windows updates or Antivirus scans taking hours to complete....
This is how I do it too. Unless it's something that does nothing 99.99999% of the time like a license server on Windows.
-
So our host is HyperV 2016 core.
So if this is a 20 thread processor, could I be assigning double the amount of vCPUs?
The reason I asked is because we did have high cpu usage on our app01 and sqlserver but after adding one additional vcpu this massively helped so I was thinking, should I just double what I’ve got in there already and I’ll be okay?
-
@Joel said in How many VCPU’s can I have?:
So if this is a 20 thread processor, could I be assigning double the amount of vCPUs?
If you assign less than ~18, you are just throwing performance away. The threads will be idle. So yes, assign more.
-
In a situation like this, I would not assign more than 19 vCPU across the workloads.
-
Thanks all for the feedback. Useful to know.
-
@Joel said in How many VCPU’s can I have?:
DC- 1
FS - 2
APP - 3
SQL - 4Into...
DC - 1
FS - 2
APP - 10
SQL - 6Is probably how I would do it. That's 19.
But check your SQL licensing, that might cost you a fortune to increase it even a little.
-
@scottalanmiller said in How many VCPU’s can I have?:
@Joel said in How many VCPU’s can I have?:
DC- 1
FS - 2
APP - 3
SQL - 4Into...
DC - 1
FS - 2
APP - 10
SQL - 6Is probably how I would do it. That's 19.
But check your SQL licensing, that might cost you a fortune to increase it even a little.
Virtual MS SQL is 4, more than that costs more.
-
@Obsolesce depends on the license. You can get SQL Server in 2, 4, 6, 8, etc. If licensing by core.
-
@Reid-Cooper said in How many VCPU’s can I have?:
@Obsolesce depends on the license. You can get SQL Server in 2, 4, 6, 8, etc. If licensing by core.
No, it's a minimum of 4 core licenses per VM. I've been down this road already.
-
@Obsolesce I have also found through experience that more memory on a SQL server does not necessarily improve performance. This is also true with VCPUs. I would monitor closely and change one thing at a time. Just my 2 pennies worth
-
@scottalanmiller said in How many VCPU’s can I have?:
NUMA issues is a key reason why we often recommend a single proc with more cores than two procs with fewer cores each. No NUMA.
AMD has been hitting high core counts by using multiple CPU dies on a single package, thus they have NUMA happening "on chip". The high end EPYC CPUs have 4 dies inside each package, with 4 memory controllers.
To stay away from NUMA, you have to stay with Intel, currently.
AMD is also doing the 2 threads per core thing now as well. So current EPYC 32 core CPU = 64 threads.
-
@pchiodo said in How many VCPU’s can I have?:
@Obsolesce I have also found through experience that more memory on a SQL server does not necessarily improve performance. This is also true with VCPUs. I would monitor closely and change one thing at a time. Just my 2 pennies worth
You probably mean the OP, not me.
But you do want to start with the minimal recommended, I think 8GB... it does help, even if your database is 1GB. At least from what I've seen and read.
-
Ideally you want enough RAM to hold the database and any temporary or cache tables in RAM without having to touch the disk. More than that, and it is just wasted.
-
@scottalanmiller said in How many VCPU’s can I have?:
In a situation like this, I would not assign more than 19 vCPU across the workloads.
What? This makes no sense.
This implies that I can never have more than 19 virtual machines with 1 vCPU each.
Unless all 19 are super busy this will never be a problem. When you sprawl to single purpose VMs, you will constantly have at least a few mostly idle VMs.
-
@JaredBusch said in How many VCPU’s can I have?:
@scottalanmiller said in How many VCPU’s can I have?:
In a situation like this, I would not assign more than 19 vCPU across the workloads.
What? This makes no sense.
This implies that I can never have more than 19 virtual machines with 1 vCPU each.
Unless all 19 are super busy this will never be a problem. When you sprawl to single purpose VMs, you will constantly have at least a few mostly idle VMs.
No, in a situation like this there are only four VMs. It's the situation like this that causes the limit, not my use of only 19 threads.
-
Tags added. Title fixed.
-
@pchiodo said in How many vCPUs can I have?:
@Obsolesce I have also found through experience that more memory on a SQL server does not necessarily improve performance. This is also true with VCPUs. I would monitor closely and change one thing at a time. Just my 2 pennies worth
Concur. We do a lot of testing with VMFleet and other utilities with monitoring via Performance Monitor or Telegraf/Grafana.
There is a sweet spot with so many variables coming into play. Disk subsystem being one key.