BlueXP Blog

Azure Disk Performance: Top Tips for Optimization

Written by Yifat Perry, Technical Content Manager | Mar 26, 2023 9:35:24 AM

Performance optimization is a key focus area for organizations migrating or deploying their workloads to Azure cloud. While performance optimization in Azure is a broader topic, one important aspect of it is Azure VM Disk performance as it directly impacts the application performance and user experience.

In this blog, we’ll dive deeper into some tips for optimizing Azure disk performance so that you can get the most out of your Azure deployments and ensure optimal outcomes.

Jump down to a topic in this post:


Azure Disk Performance Considerations

The performance of Azure disk is dependent on multiple factors such as virtual machine (VM) type, disk types, supported throughput, and others. Most often more than one of these factors could bottleneck and affect Azure disk performance, making it essential to understand them before beginning to plan for optimization. Here are some factors to take into consideration when looking at Azure disk performance.

Virtual machine type

Each virtual machine type in Azure has predefined performance limits for throughput and IOPS. Additionally, the disk types attached to the machines also have their own IOPS and throughput limits. For example, a VM might have an overall higher limit for IOPS, but if you’re using a disk type that can only support a maximum of 500 IOPS, the overall IOPS will get capped at 500.

Azure disk IOPS and application performance

Applications could get impacted if the configured machines or disks can’t support the required IOPS. This could lead to slower application response and processing times, in turn negatively affecting the user experience. Enterprise databases often need higher IOPS and would become unresponsive if the disk couldn’t meet the read/write operations demand.

Disk latency and caching

When the disk has high latency, it impacts the overall system performance as the CPU cycles aren’t released while waiting for a response from the disk. Caching can help as frequently accessed data is stored in faster storage, helping alleviate disk latency concerns. However, it could also lead to a bottleneck if the cache space configured isn’t adequate or if the VM doesn’t have the required cache limits for the application.

6 Ways to Optimize Azure Disk Storage Performance

Azure offers different options that can be configured by customers to get the best possible performance from Azure disks. However, not all configurations are applicable to all use cases, so it’s important to take the time to select the best solution based on your specific application requirements. Let’s take a look at some of the ways you can optimize your Azure Disk Performance.

1. Disk type selection

Azure offers five disk types to choose from: Standard HDD, Standard SSD, Premium SSD, Premium SSD v2, and ultra disk (listed in order of increasing Azure disk throughput and IOPS). Except for Standard HDD, all other disks use SSDs in the backend. Ultra disks provide the highest performance with a maximum throughput of 4,000 MB/s and IOPS of 160k.

When selecting the right disk type for your application, start with the one that most closely matches your requirement, and later on, you can change the performance tier without downtime if necessary. This is especially helpful if your application user base grows and you want to upgrade to a higher tier at a later stage. Additionally, it helps maintain a balance between Azure cost management and performance.

2. Disk caching

With Azure Disk caching, storage gets closer to the VM to enable faster read/write operations. Each VM type has a predefined storage capacity for caching. Caching can either be configured in the following modes:

  • Read-only: Cache is used for read operations, recommended for read-heavy workloads
  • Read/Write: Cache is used for both read and write operations, recommended for workloads that need a balance of both

The caching modes available will also change depending on disk and VM types. For OS disks, you can use read/write mode and for data disks used in applications like SQL server, you can use read-only cache mode for optimal performance. That said, changing the cache setting of a disk is a disruptive operation, therefore it’s recommended to identify the caching strategy suited for your applications in the initial deployment phase itself.

3. Disk striping

You can create Raid 0 striped volumes to increase the capacity and performance of Azure disks. For example, a striped volume created from two disks with 5k IOPS and a throughput of 200 MB/sec can give a combined throughput of 400 MB/sec and 10k IOPS. This will help improve disk performance without the overhead of using additional costly disks. However, you should also consider the overall throughput and IOPS supported by the VM machine SKU.

In the above example, if the VM can only support a maximum of 7k IOPS, that’s the maximum your application can leverage. In this case, you’ll need to upgrade the VM SKU to access the performance benefits of disk striping, so it’s advisable to do a detailed analysis of the VM SKU limits and disk types involved before adopting a disk striping strategy.

4. Performance tiers

Azure provides an option to change the Azure disk performance tier without changing the disk size. This option is ideal for events where there’s a temporary spike in performance requirements, such as seasonal usage spikes or performance testing. During these events, you can switch the performance tiers of existing disks to a tier that supports higher throughput and IOPS temporarily without any downtime. Once the peak time passes, you can switch back to the original tier. This feature is currently available for Premium SSD-managed disks.

5. Disk Write Accelerator

M series VMs in Azure are designed for memory and compute-intensive workloads such as HPC, VDI, SAP HANA, etc. To further improve disk performance for M series machines, you can enable a feature called Write Accelerator, which improves the I/O latency of write operations. It’s best practice to enable this feature on log disks configured for modern databases for optimal performance, such as disks used for redo logs or transaction logs.

6. Disk bursting

Premium SSDs and Standard SSDs have an Azure disk bursting capability, enabling them to boost IOPs and throughput to help improve VM and disk performance. A disk with a provisioned performance of 120 IOPS can burst up to 3500 IOPS and accelerate startup time, making it ideal for workloads with frequent traffic spikes.

There are two disk bursting models: on-demand and credit-based. In the on-demand model, disk bursting occurs when disk capacity is exceeded. In credit-based models, there’s a certain amount of burst credit that needs to be accumulated before the disk burst can happen. Note that Standard SSDs only support credit-based bursting, while premium SSDs support both options.

Learn more about how to analyze, monitor, and troubleshoot Azure Disk performance here.

Enterprise Storage Management Using Cloud Volumes ONTAP

NetApp BlueXP Cloud Volumes ONTAP is an enterprise-grade storage solution that simplifies and optimizes data management in the cloud. It provides advanced data efficiency, data protection, and storage services to help enterprises manage their data estate. With Cloud Volumes ONTAP, you can meet your Azure performance requirements by augmenting the natively available features with trusted NetApp storage management capabilities. It uses Azure disks in the backend to improve storage performance through NetApp proprietary capabilities.

Cloud Volumes ONTAP uses NVME local storage caching, where recently accessed data is stored in the cache for faster response times. This significantly improves application performance by reducing round-trip latency for data reads. The IOPS of provisioned disks can therefore be better leveraged for write operations.

Performance-sensitive applications such as databases, LOB applications, shared file systems, and others hosted in Azure can greatly benefit from the low latency offered by the intelligent caching technology offered in Cloud Volumes ONTAP.

Conclusion

Managing Azure disk performance in production workloads is critical as it has a direct impact on the application usability and end-user experience. By selecting the right disk type and configuring features such as Azure disk caching, striping, bursting, and write accelerators, you can ensure optimal application performance. Additionally, you can further enhance performance by leveraging Cloud Volumes ONTAP features.

FAQs

What is the fastest Azure disk?

The fastest Azure disk is the Ultra disk. It supports up to 160k IOPS and a throughput of 4,000 MBps and offers better performance than Premium and Standard disks. However, it’s important to note that several aspects such as VM type, disk size, and the nature of your application also contribute to the performance of the disk. It’s typically recommended for workloads like databases, analytics, or VDI, that require high performance.

How many MBps are in the Azure disk?

Azure offers different disk types: Standard HDD/SSD, Premium SSD, Premium SSD V2, and Ultra disk. The range of throughputs offered by Azure disks varies from 60 MB/s for Standard disks to 4,000 MB/s for Ultra disks. The actual throughput offered by Azure disks depends on factors such as disk type, machine type, or disk size.

How do I increase IOPS in Azure disk?

Disk IOPS can be increased by changing the disk performance tiers, increasing the disk size, or using mechanisms like disk striping. Changing the performance tier to a higher one, such as Ultra disk, will increase the available IOPS. As the size of the disk increases, IOPS also increases proportionally. Combining multiple disks through striping to create a larger disk volume can also help increase IOPS.