Choosing the right Azure VM SKU is only half the battle – disk performance plays a crucial role too. Learn from our step-by-step guide which configurations unlock the best IOPS, lowest latency, and smartest caching setups for your infrastructure.
When deploying virtual machines in Microsoft Azure, the way you configure your virtual disks can significantly impact performance. With a wide range of disk types, caching options, and throughput settings available, understanding how to make the right choice is essential for maximizing IOPS, reducing latency, and ensuring consistent performance for your workloads.
In this article, we’ll break down the key options and best practices for optimizing disk performance in Azure, helping you get the most out of your virtual infrastructure.
The basics of Azure virtual disks
Virtual Machines in Azure can be deployed using many different virtual disks. Such as standard HDD disks (slow but cheap), standard SSD (faster a bit more expensive or premium SSD (faster but more expensive) This disks can also be configured a specified redundancy level such as LRS (Local-redundant) or ZRS (Zone-redundant)
When you deploy a virtual machine in Azure, the chosen VM SKU also affects what kind of storage capabilities you get access to, such as:
- The maximum number of data disks that can be attached to the VM.
- The upper limit of IOPS the VM can deliver, with and without bursting.
- Whether premium disks are supported—indicated by the presence of an “s” in the SKU name (e.g., Standard_E4as_v5).
For example, selecting a SKU like Standard_E16as_v5 (as shown in the screenshot below) provides access to premium storage options and defines specific performance thresholds for disk throughput and capacity.

A key consideration when selecting a VM SKU in Azure is the maximum IOPS it supports—this limit varies depending on the SKU. if I were to add multiple disks, the max IOPS limit is spread across all the disks. This limit is in place from Microsoft to avoid an issue known as noisy neighbor, where other workloads on the same physical network and infrastructure can potentially use all the allocated capacity.
Each VM in Azure includes two types of storage:
- Local storage, typically used for the OS disk and in some cases a D: drive which is a temporary disk.
- Remote storage, which refers to attached data disks.
It’s also important to understand how Azure Disks function. Premium SSDs in Azure use Azure Storage as the underlying infrastructure, meaning the data is stored separately from the compute resources. This contrasts with many hyper-converged infrastructure (HCI) solutions, where storage is typically local to the host running the virtual machine.
Additionally, there’s a feature called Read/Write Cache that can be enabled at the disk level. It allocates a dedicated cache on the physical host where the virtual machine is running.
The cache can be configured in one of three modes: Off, Read-only, or Read-Write. When set to Off, all disk traffic bypasses the cache and is directed straight to the underlying Azure storage fabric.

NOTE: If you are running database or transactional workloads you should always as a best-practice disable write caching.
Additionally, some SKUs support specialized disk types, including:
- Ultra Disks – high-performance disks designed for IO-intensive workloads
- Ephemeral OS Disks – temporary, NVMe-based storage ideal for stateless workloads
- Premium SSD v2 Disks – advanced managed disks (note: not supported on all SKUs, but provides higher IOPS more bandwidth and cheaper compared to regular disks) Unlike regular Premium SSD, the performance of the disk is not linked directly to the size of the disk.
Performance Features You Should Know about
We also have disk bursting that allows a disk to also extend the IOPS/Bandwidth limit, this feature is however limited to only Premium and Standard SSD disk
- On-demand bursting (extra cost) is available only for Premium SSDs over 512 GiB.
- Credit-based bursting (no extra cost) applies to Premium SSDs ≤ 512 GiB and Standard SSDs ≤ 1024 GiB.
Microsoft also recently introduced a new feature in Azure that can be used to improve performance of most virtual disks called Performance Plus – That is supported for Standard HDD, SSD and Premium disks larger than 512 GB. This has no additional cost, but can only be enabled on new data disks and increases the IOPS.
What provides the best performance?
To give a better overview of how the performance of virtual disk in Azure using the different settings enabled. The table overview below shows a benchmark of a virtual machine with the Standard_E16as_v5 SKU which provides up to max 800 MB/s of throughput and 40000 IOPS with different configurations.
| Disk type | Max Write I/O per sec | Max Throughput (MB/s) | Max Read I/O per Sec | Access Time |
|---|---|---|---|---|
| Premium SSD ZRS – Bursting + Performance Plus + Accelerated Network + Read/Write Cache | 30596 | 672 MB/s | 32718 | 0.079 MS |
| Premium SSD ZRS – Bursting + Performance Plus + Accelerated Network | 30615 | 815 MB/s | 30473 | 1.86 MS |
| Premium SSD ZRS – Performance Plus + Accelerated Network | 8159 | 304 MB/s | 8158 | 1.92 MS |
| Premium SSD ZRS – Performance Plus | 8157 | 304 MB/s | 8157 | 2.19 MS |
| Premium SSD ZRS | 5101 | 203 MB/s | 5099 | 1.02 MS |
| Premium SSD ZRS – Bursting | 25131 | 585 MB/s | 30550 | 2.02 MS |
| Premium SSD v2 (Default with 8000 IOPS and 300 MB) | 8159 | 305 MB/s | 8160 | 0.330 MS |
| Premium SSD v2 (40000 IOPS and 1200 MB) | 40776 | 814 MB/s | 40769 | 0.353 MS |
| Premium SSD ZRS – Accelerated Network | 5099 | 203 MB/s | 5099 | 2.02 MS |
One thing that should be mentioned here, is that when the benchmark ran it met the limit defined by the SKU which is 40000 IOPS and 800 MB/s throughput. This can be seen with the Premium SSD v2 configuration.
Premium v2 disks also provide the lowest access time, meaning the time it takes from the machine initiating read requests until it has been processed by the underlying storage fabric. Also enabling features like Read/Write cache also improves the throughput of the disk storage.
Using a regular Premium SSD disk, I would only be able to reach the same performance using a P80 disk which has a pretty high price tag.
Summary and when to choose what ?
So when looking at the table and the different options, when should we choose the different settings and features available in Azure?
- Accelerated Networking on Storage should always be enabled regardless of SKU and configuration.
- Premium SSDv2 provides the lowest access times and best performance in terms of throughput and bandwidth, just limited to the VM SKU type. Unfortunately It can only be used for data disks and not OS disks.
- LRS > ZRS if you do not need the extra redundancy, this provides faster access to the storage both for read/write operations.
- Performance Plus gives a great boost to IOPS / Throughput and is also free! (also still in preview) but can be used for most SKUs however needs to be over 512 GB in Size.
- Read/Write Cache should always be enabled for regular OS disks without any database or transactional workloads, to provide faster performance and IOPS.
- For OS disks where you need to have additional IOPS but Performance Plus or bursting is not an option you should consider resizing the size to a higher SKU.
No matter which features or configurations you select, it’s essential to verify that the chosen SKU supports higher IOPS or bandwidth. If the SKU is limited to 10,000 IOPS, that will be the maximum performance you can achieve—regardless of how the disks are configured.
from StarWind Blog https://ift.tt/UPJbjVI
via IFTTT
No comments:
Post a Comment