How many vCPUs can I have?
-
@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.
-
Conversely, I over-allocated vCPUs across several VMs (ESXi) when I was new to type 1 hypervisors and ran into performance issues associated with high CPU ready times. After scaling down, performance improved dramatically.