• 2 min read

D-Series Performance Expectations

In this post, we will be discussing performance expectations of D-series VM sizes.

Our new D-Series VMs provide great performance for applications needing fast, local (ephemeral) storage or a faster CPU; however, it’s important to understand a little about how the system is configured to ensure you’re getting an optimal experience.

The cloud is a shared environment, so most VMs share a server with one or more other VMs. To ensure that one VM doesn’t use more than its fair share of shared resources we apply limits to the number of virtual CPUs, RAM, local disk capacity, and IO throughput made available to a VM based on the VM type. These limits help ensure that all users see more consistent, predictable performance from the system.

For the new D-Series, here are the core counts and RAM assignment, as well as the capacity and performance expectations for local SSD by VM type:

Name Cores Memory (GB) Local SSD Size (GB) Local SSD Max IOPS Local SSD Max Read MB/s Local SSD Max Write MB/s
Standard_D1 1 3.5 50 3,000 48 24
Standard_D2 2 7 100 6,000 96 48
Standard_D3 4 14 200 12,000 192 96
Standard_D4 8 28 400 24,000 384 192
Standard_D11 2 14 100 6,000 96 48
Standard_D12 4 28 200 12,000 192 96
Standard_D13 8 56 400 24,000 384 192
Standard_D14 16 112 800 48,000 768 384

IO Operations are limited by either Max IOPs or the Max Read/Write throughput (MB/s), whichever they hit first (for mixed workloads a write effectively counts double against the read limit). Small IO sizes will typically max out on IOPS before hitting bandwidth limits, while large IO sizes will typically max out on bandwidth before hitting IOPS limits.

Note that Max IOPS and maximum disk throughput limits apply only to the local SSD. OS, Data Disks, and Azure File persistent storage performance levels are described in the Azure Storage Scalability and Performance Targets document.

Applications that require low latency, but don’t push high IOPS or bandwidth may do well with one of the smaller SKUs. Applications that need low latency and high IOPS or high bandwidth should consider using the larger SKUs.

Local SSDs are implemented as dynamic VHDs, which means that initial writes to a sector on these disks will be slower as the VHD file expands. For optimal performance, pre-write files/disks before using them for an active workload.

Your performance may be less, especially if your application can’t drive a sufficiently parallel workload to take advantage of the full capacity.