In our previous blog post, we discussed the factors that affect disk performance and the various types of disks available in the AWS platform. In this article, we will explore the different types of disks offered by Azure and their characteristics.
Standard SSD
Azure offers Standard SSD disks, which are low-cost SSDs that provide better latency compared to standard HDDs. These disks are ideal for use as OS disks, web servers, and low IOPS application servers. Azure provides fourteen different disk sizes ranging from 4GB to 32TB, with IOPS ranging from 500 to 6000 and throughput ranging between 25MiB/sec to 750MiB/sec. It’s important to note that the actual IOPS and throughput may vary depending on the traffic pattern.
Premium SSD
Azure’s Premium SSD disks are designed to support IO-intensive workloads and offer high performance and low latency. These disks can only be used with VM series that are compatible with premium SSD disks. Similar to Standard SSD disks, Azure provides fourteen different disk sizes ranging from 4GB to 32TB. However, Premium SSD disks offer higher IOPS ranging from 120 to 20000 and throughput ranging between 25MiB/sec to 900MiB/sec. The major difference between Premium SSD and Standard SSD is that Premium SSD provides more consistent performance in terms of IOPS and throughput.
Premium SSD disks also support bursting for disk sizes up to 512GB. These disks can burst up to 3500 IOPS and 170MiB/sec throughput. Bursting is based on a credit system, where credits are accumulated when disk traffic is below the provisioned performance and consumed when traffic bursts beyond the provisioned performance. The max burst limit defines the ceiling of disk IOPS and throughput, even if burst credits have been accumulated. This feature helps support random unpredictable spikes in IO workload for disks up to 512GB in size.
Ultra Disk
Azure’s Ultra Disks provide high throughput, high IOPS, and consistent low latency disk storage for IO-intensive mission-critical applications. These disks can only be used as data disks and not as OS disks. Ultra Disks support disk sizes ranging from 4GB to 64TB and allow customization of performance variables such as IOPS and throughput.
Ultra Disks support 300 IOPS per GB with a maximum limit of 160,000 IOPS per disk. For example, an 8GB disk can be configured to support a maximum of 2400 IOPS. Disks above the size of 533GB support a maximum of 160,000 IOPS. The minimum configurable IOPS for an Ultra Disk is 2 IOPS per GB with a baseline of 100 IOPS per disk.
It’s important to ensure that the VM IOPS limit is higher than the IOPS configured for the disk to fully benefit from the provisioned IOPS. The throughput limit is 256KiB/sec for each provisioned IOPS, with a maximum of 2000MiB/sec per disk. The minimum throughput per disk is 4KiB/sec for each provisioned IOPS, with a baseline of 1MB/sec.
One of the advantages of Ultra Disks is the ability to adjust performance variables (throughput and IOPS) at runtime without detaching the disk or restarting the VM. However, there are certain restrictions in using Ultra Disks, so it’s important to refer to the Azure website for up-to-date information.
Disk Stripping for Better Performance
To achieve higher IOPS and throughput, you can use multiple disks and stripe them together. For example, instead of using a single P50 disk in premium storage, which offers 7500 IOPS and 250MiB/sec throughput, you can allocate two P40 disks and stripe them at the OS level to achieve a combined IOPS of 15000 and throughput of 500MiB/sec.
Understanding the different types of disks available in the Azure portal and considering these points while allocating disks can help optimize performance. In our next blog post, we will explore different parameters to measure disk performance.
Stay tuned for more SQL Server-related articles on www.PracticalSqlDba.com.