Windows 10 VDI Sizing

/ December 18, 2019/ Uncategorised

While doing a project or making a calculation for a VDI environment, sizing the physical hardware is not a daily operation and therefore not easy to do. The administrator must have knowledge about the back- and frontend to converse the customer needs into a valid design.


First things first…

In order to make a proper design there are some basic elements:

– How many virtual cores per machine?
– Type of workload?
– Storage type (Nutanix, Vsan, full flash or hybrid)?
– Software or hardware rendering?

or go straight to my personal VDI/vSphere Sizing Calculator to calculate the maximum amount of virtual machines per cluster/host, click here

Virtual cores per machine

Lets start with a question ” a 4 core machine is always faster than 2″? Well it depends on the general workload of the physical hardware in combination with the type of workload in the virtual machine.
be aware that increasing virtual cpu’s of virtual machines will change the cpu ready value negative.

What is CPU ready?

The term CPU Ready shows a percentage of time that the virtual machine was ready, but the underlying hardware could not scheduled to run on the physical cpu. While increasing the virtual count of a vm to four, the physical amount of cores will be shared by the total of all machines running on that host times the four cores.

In our virtual lab, we got a server with two Intel sockets (Intel Xeon Gold 6242, 16 cores, 2,80 GHz)

  • 32 cores in total (16x(sockets))
  • vCPU and CPU ratio of 1 ( explained later)

4 cores per machine “32/4= 8 virtual machines
2 cores per machine “32/2= 16 virtual machines

With a ratio of 1:1, the above output contains the maximum amount of virtual machines per server.

A high cpu ready value can you determine by checking the host with esxtop or perform an analys within the vCenter

ESXTOP, value must not exceed the 5% value on long-term, a short spike is not a problem. The following screenshots has been captured from my own test environment

you can see that there was a spike at 8.17 until 8.18, this was a expected behavoir because my ESXi machine was just started in combination with the vCenter and active directory server. These values can be converted with the following own made (Excel) table

CPU Ready          
           
Timespan Max Value Seconden   CPU Ready %
Realtime 1000 20 1000 100 5
Last day 15000 300 1000 100 5
Last week 90000 1800 1000 100 5
Last Month 360000 7200 1000 100 5
Last Year 4320000 86400 1000 100 5
           

(CPU summation value / (<chart default update interval in seconds> * 1000)) * 100 = CPU ready %

For example:

The Realtime stats for a virtual machine in vCenter shows an average CPU ready summation value of 1000. you can use the formula to calculate the actual cpu ready percentage

(1000 / (20s * 1000)) * 100 = 5% CPU ready

https://kb.vmware.com/s/article/2002181

Type of Workload vs Ratio

Type of workload depends on a few circumstances: which operating system would be using, version of office, Default browser, Hardware GPU or Software rendering. know your applications and environment before doing a correct sizing!

*Lower Ratio is always better, Verify the overall performance always with a validation toolkit as “Loadgen or LoginVSI”
*When using a GPU offloader, software rendering will not be used as result for that there are less cpu resources needed.

You can always use my personal VDI/vSphere Sizing Calculator to calculate the maximum amount of virtual machines per cluster/host, click here

Storage type (Nutanix, Vsan, full flash or hybrid)

Which storage type fits the best in my environment and is feature ready? Well it depends, there are a lot of great products on the market. the main question would be, do i want a hyper-converged storage or a dedicated full-flash/hybrid storage array and is the knowledge in-house to manage these types of storage infrastructure.

Realize that hyper-converged storage needs server resources like cpu and memory. for example with Nutanix each server must have his own CVM appliance with a minimum of 8-12 cores and more than 32 GB of ram. VMware Vsan does not need a CVM per server because it is part of the ESXi kernel. and can be easy scaled in combination with compute. VMware Vsan also requires some computer resource. Each product has his own limitations and advantages

to get back to the main purpose of this blog page, if we’ve got a small high performance cluster with 4 nodes in combination with the Intel Xeon Gold 5122 processor ( 3.6 GHz, 4 cores per socket) which type of storage fits better when you count the availbility of cores/virtual machines?

Processortype Processor socket Cores per socket Total cores ratio vcpu/core cores Nutanix CVM ESXi DSVA Cores beschikbaar vCPU per VM nodes VM’s per node VM’s per Cluster
5122 2 4 8 2.0 16 12 2 0 2 2 4 1 4
5122 2 4 8 2 16 0 4 0 12 2 4 6 24

Because the CVM needs more cpu resources compared with VMware Vsan, in this situation from my opinion you can better choose for VMware Vsan to handle more virtual machines. It is important to compare the functionalities of both products to choose which product fits best in your environment. 

Software or hardware rendering

to make a propper design the choise of using Software or Hardware rendering can bring you in a difficult situation, especially in combination with Windows 10, multiple browsers etc… good to know when using software rendering, you need more cpu resources to ensure desktop performance. When you are able to use hardware rendering like a graphical card from the vendors Nvidia or AMD, less cpu resources would be needed because for example video encoding an decoding will be offloaded to the hardware.

2 Comments

  1. Hi, nice article. I do wonder what an acceptable CPUready value would be before the users actually experience it as ‘slower’. What is your opinion about that?

    1. Hello Roland, It depends on the set of configuration. While using a hardware gpu for offloading or software rendering (CPU), users are more affected with software rendering while the cpu ready value hits the 5 and above.
      It also depends on the type of users and their workload. The best answer is to test your configuration with propper monitoring/benchmark tools.

      My personal experience is that a cpu ready value of +- 3 is acceptabel for common workers. For hospitals with specific applications is 1:1 better

      Good luck! 😉

Leave a Comment

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*