In this article, we will take a look at Azure Virtual Machine benchmarks to better understand which Virtual Machines are better suited to deploy with Windows Virtual Desktop.
One of the most common question’s I’m regularly asked, is , “How do I get the most value for money ($/£) in terms of performance and user experience when using Windows Virtual Desktop “.
The motivation for this research and article was based on the following questions:
- What is the formula of success for better performance when implementing a Windows Virtual Desktop Environment (WVD)?
- How do I get more bang for buck and how do I ensure my customers have the best possible experience when using Windows Virtual Desktop?
- Are GPU’s a mandatory requirement for the best possible experience even though, graphics applications are not always in use?
I’m sure you will find this article interesting….
Microsoft Sizing Guide for WVD:
Microsoft have suggested the following sizing and Virtual Machine specifications when deploying a Windows Virtual Desktop Environment.
|Workload type||Maximum users per vCPU||vCPU/RAM/OS storage minimum||Example Azure instances||Profile container storage minimum|
|Light||6||2 vCPUs, 8 GB RAM, 16 GB storage||D2s_v3, F2s_v2||30 GB|
|Medium||4||4 vCPUs, 16 GB RAM, 32 GB storage||D4s_v3, F4s_v2||30 GB|
|Heavy||2||4 vCPUs, 16 GB RAM, 32 GB storage||D4s_v3, F4s_v2||30 GB|
|Power||1||6 vCPUs, 56 GB RAM, 340 GB storage||D4s_v3, F4s_v2, NV6||30 GB|
You can read more from Microsoft here: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/virtual-machine-recs
This article, keeps clear of the topic “user density” as the context of this article is focused on user experience. The total\Maximum number of users you can get on one box is a different testing process and should be tested separately using the correct tools.
as a quick start for sizing, Its suggested that you follow the maximum users per vCPU detailed in Microsoft’s document as a baseline. Link is above…
PCMARK 10 from UL
Before we get into the details of the findings, I wanted to thank UL for providing me with a press licence that gives me the opportunity to complete this testing. Some may be familiar with UL when building custom PC’s or gaming. Some of the Products include PCMARK 10, 3DMARK and SERVERMARK.
A bit of information about PCMARK 10.
PCMark 10 is the latest version in UL’s series of industry standard
PC benchmarks. PCMark benchmarks measure complete system
performance using tests based on real-world apps and activities. In
PCMark 10, these tests reflect the common tasks performed in the
modern workplace. This makes PCMark 10 an ideal, vendor-neutral
choice for governments and enterprise organizations that buy PCs
in high volumes.
Benchmark test used for this article:
PCMark 10 Express is a shorter benchmark focused on basic work
tasks. It is a good choice for organizations tendering for PCs for
general office use. The PCMark 10 Express benchmark focuses on
the performance needs of a typical office worker. It is a less
demanding test than the main PCMark 10 benchmark
You can find out more about PCMARK 10 from UL here: https://benchmarks.ul.com/
The test results shown in this article are from using PCMark 10 Express. The testing areas included the following:
- App Start-up
- Web Browsing
- Video Conferencing
The aim of this testing was to understand which Azure Virtual Machines offer the best performance for a Windows Virtual Desktop deployment and to understand the consistencies / inconsistencies in performance and the comparison between vendor(s) Intel and AMD in Azure.
The first thing I did was list a number of Azure Virtual Machines including some of the ones detailed in Microsoft’s WVD documentation for testing.
I then ran benchmarking tests on all Virtual Machines using two testing methods, not optimised and optimised. On this occasion, I used the VDI Guys script, as its suggested that most of the WVD communities will be using this. You can find the script on their git hub link here: https://github.com/TheVDIGuys/Windows_10_VDI_Optimize
Point to note here: testing took around three days to complete. It was a time consuming process.…..!
Base results from testing the list of Azure VM’s.
you will see from the chart above, the highest scoring VM’s were the NV6 GPU Virtual Machine and the AMD Virtual Machines.
You will also note, two of the columns highlighted in green, show you that the AMD and Intel Virtual Machines with the same number of CPU’s and RAM, shows greater performance when using the AMD over Intel.
You will also note that the D16as_v4 shows very similar performance to the NV6 Virtual Machine which has a Nvidia GPU installed and configured.
Sadly, the majority of Intel Virtual Machines tested are at the lower end of the chart.
Interestingly, I found that the B4ms offered better performance compared to some of the other Intel Virtual Machines. When changing the disk size for more IOPs’ I was still not able to compete with the performance of the B4ms on the lower Intel Virtual Machines. This is because the B4ms is bursting CPU and disk IOPs on demand which offers much higher performance than the static lower end VM’s.
It has been suggested that you should not use B4ms Virtual Machines with Windows Virtual Desktop due to the potential saturation of resource that you may experience if you deplete the usable/limited/available burstable resources during a working day.
There could be a use case for burstable on personal desktops ?
You can find out more on burstable Virtual Machines here: https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-b-series-burstable
Non vs Optimised Azure Virtual Machines
This test surprised me a little bit. I found that there is little improvement to the benchmark score when optimising the Virtual Machine. I did find a small increase but only marginal. Using less threads does allow for more density however, during testing I did not find any significate performance improvement when optimising vs non optimised.
As you can see from the chart above, there is very little difference between an optimised Virtual Machine compared to a default Virtual Machine.
Looking at the testing in more detail
When reviewing the individual metrics of a AMD D4as_v4 marked as (1), and the Intel D16s V3 marked as (2) . You will note that the results on the Lower spec AMD Virtual Machine are much higher than the higher spec Intel.
- For example: the Application GIMP took 3.1 seconds to start (cold start) on the AMD.
- On the Intel, it took 4.3 seconds to start (cold start).
- I noted that Firefox and Chrome showed better results when using Intel compared to AMD.
One set of metrics that really interested me was the spreadsheet scores. AMD showed better results on every spreadsheet test compared to the higher spec Intel Virtual Machine.
Other results showed that AMD offered faster document load and save document speeds. This is shown in the screenshot below:
Application loading / performance speeds
I installed a application called Affinity Designer (trial) on both a AMD D16as_v4 and Intel D16s v3. As show in the pie chart below, you can see that the AMD Virtual Machine (blue) loads the application for use much quicker than the Intel equivalent.
The difference between the two Virtual Machines was around 13 seconds in favour of the AMD Virtual Machine.
When reviewing the Azure Pricing Calculator, I found that the price between Intel and AMD, was that Intel was more expense.
AMD Pricing for the D16as_v4
D2as – D96as v4 Series
The Das v4-series VMs support Premium SSD disk storage and are based on the 2.35Ghz AMD EPYCTM 7452 processor, which can achieve up to 3.35GHz. The Das v4 VM sizes offer a combination of vCPUs, memory and temporary storage able to meet the requirements associated with most production workloads.
Intel Pricing for the D16s_v3
D2s-64s v3 Series
The Dsv3-series support premium storage and run on the Intel® Xeon® Platinum 8272CL processor (second generation Intel® Xeon® Scalable processors), Intel® Xeon® 8171M 2.1GHz (Skylake), Intel® Xeon® E5-2673 v4 2.3 GHz (Broadwell), or the Intel® Xeon® E5-2673 v3 2.4 GHz (Haswell) processors with Intel Turbo Boost Technology 2.0 and feature Intel® Hyper-Threading Technology. The Dsv3-series sizes offer a combination of vCPU(s), memory, and temporary storage well suited for most production workloads.
You can find out more here: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/windows/#ddv4-series
Please also note pricing varies per region.
Conclusion and Summary:
This is a small snapshot of the tests completed. However as you can see from the results shown, the AMD Virtual Machines provide faster responses and have a much higher score from the benchmarking software than the Intel hardware equivalent.
Even when increasing the total number of CPU’s and RAM, Intel does not show a great deal of performance improvement compared to the AMD Virtual Machines.
The two charts shown below show depict, that AMD has a much higher performance score than the Intel Virtual Machines.
Intel Virtual Machine Performance Results:
AMD Virtual Machine Performance Results:
Surprisingly, the AMD virtual offering in Azure could be a good contender for Windows Virtual Desktop deployments and may offer that extra performance you have been looking for.
I hope you found this information useful and it would be great to hear back from the readers, on your own testing and results when using AMD over Intel.
Please use the comment box below.
Enjoy testing, Ryan…