Skip to content

Azure MySQL Autoscale IOPS - Overview

IOPS stands for Input/Output Operations Per Second.

List of References (Click to expand)
Table of Content (Click to expand)

When Autoscale IOPS is enabled for Azure Database for MySQL Flexible Server, IOPS automatically scale up and down based on workload demand:

  • During high demand, the system increases IOPS to maintain performance.
  • During low demand, it scales down to reduce resource usage and cost.

How to provision

  1. Go to the Azure Portal
  2. Search for Azure Database for MySQL Flexible Server in the search bar.
  3. Click Create.
  4. Choose your subscription, resource group, and server name.
  5. Select the region, MySQL version, and workload type (e.g., Development, Production).

How to enable IOPS (manual approach)

  1. Go to the Azure Portal
  2. Select the server you want to configure.
  3. In the left-hand menu, go to Settings > Compute + Storage.
  4. In the IOPS section, select the option Autoscale IOPS
  5. Click Save to apply the changes.

How to enable IOPS (script)

Automate Autoscale IOPS using Python and the Azure REST API across resource groups or an entire subscription. Autoscale IOPS is supported only on the General Purpose and Business Critical tiers and cannot currently be enabled through Azure CLI or PowerShell.

How to Monitor IOPS Scaling

Use the metrics available in Azure Monitor to determine when IOPS scale up or down.

1. Use Azure Monitor Metrics

  • Go to your server in the Azure portal.
  • Open Monitoring, then select Metrics.

Azure Monitor Metrics navigation

  • Choose the Storage IO metric in both percentage and count formats.

Storage IO metric selection

  • Set a custom time range to observe trends over time.
Storage IO Count Storage IO Percent
Storage IO count metric Storage IO percentage metric

2. Look for Scaling Patterns

  • Sudden increases or decreases that correlate with workload changes indicate that Autoscale IOPS adjusted the performance level.
  • Monitor IO utilization percentage to see how close the server is to its current IOPS limit.

3. Enable Alerts (Optional)

Configure Azure Monitor alerts to notify you when IOPS usage crosses selected thresholds.