With most Azure Virtual Desktop environments I work with, people default to Premium SSD as their default managed disk for their session hosts. Most of the time, this is the correct solution to go for, especially for multi-session workloads. If using single-session workloads, I normally recommend Standard SSD Disks.
However, most people are actually unaware, that you can actually get very similar performance on Standard SSD, that you get with Premium SSD. Premium SSD gives us the same base performance, however, it enables “burst” capability. What this will do is give you the extra IOPS you need, when you need it. This is normally for those log on storms in the morning, or that IOPS heavy application that people launch.
But I want to look at some actual real world performance tests so you can actually see the performance difference. For this we will be running disk performance tests using Crystal Disk Mark which will show us the read and write performance of the disks. We will perform this on the following disk types:
- Standard HDD
- Standard SSD
- Premium SSD
- Ephemeral Disks
Below is a quick comparison taken from https://learn.microsoft.com/en-us/azure/virtual-machines/disks-types which shows the main differences on a 128GB OS Disk.
|Disk Type||Base IOPS||Base Throughput||Max Burst IOPS||Max Burst Throughput||Max Bust Duration|
|S10 Standard HDD 128GB||Up to 500||Up to 60 MB/s||N/A||N/A||N/A|
|E10 Standard SSD 128GB||Up to 500||Up to 60 MB/s||600||150 MB/s||30 mins|
|P10 Premium SSD 128GB||Up to 500||100 MB/s||3500||170 MB/s||30 mins|
As we can see from the above table, all disks give us 500 IOPS, but the biggest differences between the Standard and Premium tiers is the throughput, and also the burst capability. With a Premium SSD we can go up to 3500 IOPS when required, for a period of up to 30 mins, and also increased throughput up to 100 MB/s.
Premium SSD v2
Microsoft recently released Premium SSD v2 which offers 3000 IOPS and a increased throughput of 125 MB/s. However, you cannot use this for OS Disks so is not suitable for AVD Workloads at this time.
Real world testing
OK, so as discussed earlier, we are going to create a few different VMs, and use Crystal Disk to test the performance of the disks to see what performance you are getting in the real word. So let the testing begin!
For this test I created a few VMs in UK South, and used Nerdio to flick the disk sku’s over and re-ran the tests. I also used Crystal Disk benchmark to gather the status.
Pretty interesting results right?? A few things to note:
- The Standard HDD and Standard SSD figures were very similar, showing very similar disk performance. This is what I have heard from other people. However, the storage is made up of HDD’s and performance may vary so you are not guaranteed that performance. Microsoft recommend using Standard HDD’s for dev/test workloads only. When you pay for a Standard SSD over a Standard HDD you are paying for the guaranteed performance and lower latency on the storage.
- Premium SSD gives much higher write IOPS, which is what we would expect, but throughput and read performance is actually quite similar to Standard SSDs.
- Ephemeral Disks are MUCH faster than Premium SSD, both for throughput and IOPS. This is because they are locally attached to the VMs. However, there are downsides to Ephemeral Disks, which we can go into another time.
As with everything in Azure, you get what you pay for. Below is a table showing the disk cost per month based on 730 hours a month, based in UK South. As you can tell, if you had 1000 session hosts running in Azure, the cost difference between using Standard HDD and Premium SSD is £14,110.
However, using a tool like Nerdio you can swap the disk SKU’s over to a Standard HDD when the VM is not running, therefore potentially saving thousands of pounds each month.
|Disk||Cost per month||Total cost for 1000 VMs|
|Standard HDD S10 128GB||£5.26||£5260.00|
|Standard SSD E10 128GB||£8.58||£8580.00|
I went into writing this article never recommending Standard HDD for production workloads, and that recommendation is still the same. If you want guaranteed performance, at minimum you need to be running Standard SSD.
For multi-session workloads, I will ALWAYS recommend Premium SSD, purely for the burst capability. If I have 15-20 people on a session host, I want that extra performance when I need it.
For single-session workloads, I will always recommend Standard SSD, although if you are not that bothered about disk performance, or general performance you may be able to get away with Standard HDD without the users noticing the difference.