How to determine how many cores/threads do I need?
My company is going back from the cloud to a local setup. I have designed the architecture already, I'm just missing the server to install the VMs.
I'm considering a few VMs that in overall uses around 40 GB RAM and generally, 2 vCores / VM (except a Docker server that I have assigned 8vCores). Let's say that around 16 vCores.
As the RAM is a fixed value, I know I need to get a server with over 40GB. In fact, I'll go for 64 GB.
However, I'm not sure what kind of processor would I need for this. Do I need to find a processor with 16 threads? Or something with less threads will do the job as well? In other words, does each vCore need a processor's thread?
I'm considering a few VMs that in overall uses around 40 GB RAM and generally, 2 vCores / VM (except a Docker server that I have assigned 8vCores). Let's say that around 16 vCores.
As the RAM is a fixed value, I know I need to get a server with over 40GB. In fact, I'll go for 64 GB.
However, I'm not sure what kind of processor would I need for this. Do I need to find a processor with 16 threads? Or something with less threads will do the job as well? In other words, does each vCore need a processor's thread?
Comments
Second, not all VMs use the same amount of CPU. 1 VM that uses alot of CPU can use the same amount of CPU as 20 VMs that don't use much CPU.
A+, Network+, CCNA
2. NUMA - Your biggest VM should fit within your NUMA boundary (CPU and RAM). If your biggest VM has 8 vCPU and 64GB of RAM, then the physical server (assuming 2x socket) has to have at least 8 cores/socket and 128GB of RAM.
3. Cost - Software are typically licensed per socket, so physical CPU should have as many cores/socket as possible. Put together a spreadsheet that include software & hardware cost to see what makes most sense. When software cost goes down, hardware cost goes up. Need to find a balance.
4. HA - What ever number of servers you come up with, add 1 more for high availability.
"Simplify, then add lightness" -Colin Chapman