An Azure service that is used to provision Windows and Linux virtual machines.
Culture Shift Team - Based on the performance data you shared (high write operations/bytes with comparatively low CPU), the most defensible interpretation is that the workload is hitting storage I/O limits (disk and/or VM I/O path limits), which can manifest as queuing and latency even when CPU and memory are not saturated. Azure disk performance is governed by both (1) the managed disk’s provisioned IOPS/throughput limits and (2) the VM size’s IOPS/throughput limits and I/O path (cached vs uncached**)**.
Why this can happen even with “normal” CPU - Azure documents that I/O to disks follows defined paths (uncached managed disk, cached managed disk, and local/temp disk where applicable) and is constrained by provisioning at multiple layers (disk‑level limits and VM‑level limits).
When the workload demand exceeds these limits, the platform enforces capping/throttling behavior, which typically appears as increased latency/queueing and reduced application responsiveness.
To keep the conclusion fully evidence‑based, the next step is to validate disk pressure using Azure’s documented VM/disk metrics for:
- Disk latency and disk queue depth (OS and Data disk)
- Read/Write operations per second and Read/Write bytes per second (OS and Data disk) These metrics are explicitly described in Microsoft documentation and are the supported way to correlate “slow VM/app” events with storage saturation symptoms.
VM resize (D4as_v4) - Moving to D4as_v4 is directionally reasonable from an Azure infrastructure standpoint because Microsoft documents higher uncached remote storage IOPS/throughput limits for the Dasv4 series compared with smaller/lower‑tier options. However, resizing the VM does not automatically remove disk‑level constraints. The disk itself retains its own IOPS/throughput limits (by disk type/size), and the effective performance remains the minimum of the relevant VM‑level and disk‑level limits for the I/O path in use. Therefore, a VM resize alone cannot be treated as a guaranteed fix unless post‑change monitoring confirms that disk/VM I/O limits are no longer being approached during the same workload operation.
Supported remediation options - From an Azure Support perspective, the defensible, Microsoft‑supported remediation options for an I/O bottleneck are:
- Right‑size the disk tier/size to meet required IOPS/throughput (disk performance depends on disk type and provisioning). [learn.microsoft.com], [docs.azure.cn]
- Right‑size the VM so VM‑level IOPS/throughput limits do not cap the disk (VM and disk limits must be considered together). [learn.microsoft.com], [learn.microsoft.com]
- Use Azure’s published performance guidance to review factors that affect storage performance (latency, IOPS, throughput, caching considerations) and validate with measurements before/after the change. [learn.microsoft.com], [learn.microsoft.com]
Proceed with the planned resize to D4as_v4, and validate storage health using Azure Monitor disk metrics (latency, queue depth, IOPS, throughput) during the same high‑write operation you described. If the metrics indicate the disk is still near its provisioned limits, the supported next step is to adjust disk provisioning (tier/size) and/or distribute I/O across appropriately provisioned disks so the workload does not exceed disk‑level limits. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com], [docs.azure.cn]
References (Microsoft documentation)
- Virtual machine and disk performance (limits, I/O paths, capping) [learn.microsoft.com]
- Disk metrics (latency, queue depth, IOPS, throughput) [learn.microsoft.com]
- Dasv4 series (uncached storage IOPS/throughput by size) [learn.microsoft.com]
- Azure managed disk types (disk performance varies by type) [learn.microsoft.com]
- Premium storage performance guidance [learn.microsoft.com]
- Scalability/performance targets (avoid throttling with highly utilized disks; plan disk needs) [docs.azure.cn]d disks; plan disk needs) [docs.azure.cn]