Optimum number of CPU cores for non-VDI Hyper-V

Posted on 2014-01-28
Last Modified: 2014-11-12
We've found that assigning fewer vCPUs to VMs (we have a non-VDI environment) i.e. 1 instead of 4 can increase performance because the scheduler has to go around fewer cores.

I'll be looking at ordering a new production virtual server in the near future which will be running the latest 2012 R2 and was wondering how significant the number of cores it has is. Is it worth spending the money on 12 or 16 core CPUs instead of a six core in terms of what each VM would be able to utilise of the host hardware?

Is there a point of diminishing returns? If so is there a formula or rule of thumb to work it out?
Question by:mark_667
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 121
ID: 39815258
We've found that assigning fewer vCPUs to VMs (we have a non-VDI environment) i.e. 1 instead of 4 can increase performance because the scheduler has to go around fewer cores.

Your observations are correct! (more Hyper-V admins needs to read this!).

Spend money on Clock Cycles, e.g. 3.0GHz, 3.3GHz, e.g. 10 Cores at 3.0GHz, rather than 12 Cores at 2.7GHz!

We just took delivery of many Dell R720, and selected higher clock speeds than cores, because of the memory bandwidth.....

Clock Speed is more important to the VM for performance.

Expert Comment

ID: 39815795
Clock Speed is more important to the VM for performance.

I'm going to disagree with this as a general statement.

In our system, we have upwards of thirty or forty VMs on each server, and we'd gladly trade clock speed for cores (up to a point, of course).  

Really, it's highly dependent on your environment: both the number of VMs, and the kinds of services that run on them.

If you have few VMs, then you really don't need more cores, so you should be focusing on clock speed.  But if you have a lot of VMs, or the services they provide are highly parallelized, then you'll see more performance out of more cores than more clockspeed, all else being equal.
LVL 82

Expert Comment

by:David Johnson, CD, MVP
ID: 39815938
You may want to also consider that server licensing these days is by cores
2017 Webroot Threat Report

MSPs: Get the facts you need to protect your clients.
The 2017 Webroot Threat Report provides a uniquely insightful global view into the analysis and discoveries made by the Webroot® Threat Intelligence Platform to provide insights on key trends and risks as seen by our users.


Author Comment

ID: 39817317
Lets say I have a machine with 2x quad cores to keep within Microsoft's licensing restrictions. That'd have 16 logical cores because of Hyper Threading running 2 threads for each core.

Would it be better to run this machine with 8 VMs each with 2x vCPUs so they each get one physical core or to have a ratio of 1 vCPU to 1 logical CPU which would mean it could support 16 VMs? Would the VMs be using less of the hardware in the second scenario?
LVL 121
ID: 39817324
When we plan, we work on a rule of thumb or 5 - 6 VMs per physical Core. Often memory is the bottleneck not CPU.

What VDI OS are you using Windows 7 or Windows 8 ?

and is it just VDI ?

Author Comment

ID: 39817401
>What VDI OS are you using Windows 7 or Windows 8 ?

As I said in the title these are for non-VDI machines. They run a mix of Server 2003 R2, Server 2008 R2 and Server 2012 R2. They're mostly test machines and machines used to replicate customer environments so we can test against specific configs. We use dynamic memory where we can, most use 512MB when idle but could be 2-3GB when under load so we're not talking massive amounts of memory. Would this change how you'd deploy them?
LVL 121

Accepted Solution

Andrew Hancock (VMware vExpert / EE MVE^2) earned 500 total points
ID: 39817417
Not at all, work with 5-6 VMs per Core.

Dual Processor, Quad Core machine, with low RAM, you'll have plenty or resources available.

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Last article we focus in how to VMware: How to create and use VMs TAGs – Part 1 so before follow this article and perform the next tasks, you should read the first article how to create the TAG before using them in Veeam Backup Jobs.
Giving access to ESXi shell console is always an issue for IT departments to other Teams, or Projects. We need to find a way so that teams can use ESXTOP for their POCs, or tests without giving them the access to ESXi host shell console with a root …
How to install and configure Citrix XenApp 6.5 - Part 1. In this video tutorial we have explained step by step installation of Citrix XenApp 6.5 Server on Windows Server 2008 R2 is explained in this video. We have explained the difference between…
In this video tutorial I show you the main steps to install and configure  a VMware ESXi6.0 server. The video has my comments as text on the screen and you can pause anytime when needed. Hope this will be helpful. Verify that your hardware and BIO…
Suggested Courses

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question