An open API service indexing awesome lists of open source software.

https://github.com/microsoftcloudessentials-learninghub/mysql-autoscale-iops

Quick overview of what IOPS means in a MySQL server and explore a few example scripts to configure it
https://github.com/microsoftcloudessentials-learninghub/mysql-autoscale-iops

automation autoscale iops mysql-server

Last synced: 8 months ago
JSON representation

Quick overview of what IOPS means in a MySQL server and explore a few example scripts to configure it

Awesome Lists containing this project

README

          

# Azure MySQL Autoscale IOPS - Overview

> IOPS (Input/Output Operations Per Second)

Costa Rica

[![GitHub](https://img.shields.io/badge/--181717?logo=github&logoColor=ffffff)](https://github.com/)
[brown9804](https://github.com/brown9804)

Last updated: 2025-07-16

----------

List of References (Click to expand)

- [Storage IOPS in Azure Database for MySQL - Flexible Server](https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-storage-iops#how-do-i-know-that-iops-have-scaled-up-and-scaled-down-when-the-server-is-using-the-autoscale-iops-feature-can-i-monitor-iops-usage-for-my-server)
- [Azure Database for MySQL - Flexible Server service tiers](https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-service-tiers-storage#service-tiers-size-and-server-types)
- [Autoscale IOPS for Azure Database for MySQL - Flexible Server - General Availability](https://techcommunity.microsoft.com/blog/adformysql/autoscale-iops-for-azure-database-for-mysql---flexible-server---general-availabi/3884602)
- [Azure Database for MySQL pricing](https://azure.microsoft.com/en-us/pricing/details/mysql/)

Table of Content (Click to expand)

- [How to provision](#how-to-provision)
- [How to enable IOPS (manual approach)](#how-to-enable-iops-manual-approach)
- [How to enable IOPS (script)](#how-to-enable-iops-script)
- [How to Monitor IOPS Scaling](#how-to-monitor-iops-scaling)

> When Autoscale IOPS is enabled for Azure Database for MySQL (Flexible Server), the IOPS (Input/Output Operations Per Second) automatically scale both up and down based on your workload demands.

>
> - 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](https://portal.azure.com/)
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](https://portal.azure.com/)
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 the activation of Autoscale IOPS using Python and the Azure REST API](./autoscaleMultiple-IOPS/), ideal for managing multiple servers across resource groups or entire subscriptions. This feature is only supported on General Purpose and Business Critical tiers, and currently not available via Azure CLI or PowerShell.

## How to Monitor IOPS Scaling

> How I know if the IOPS have scaled up or down when the server's using the autoscale IOPS feature? You can use the `metrics available in Azure Monitor`.

1. **Use Azure Monitor Metrics**:
- Go to your server in the [Azure portal](https://portal.azure.com/)
- Go to the `Monitoring` section and select `Metrics`.

image

- Choose the `Storage IO` metric (both percent and count).

image

- Set a `custom time range` to observe trends over time.

| Storage IO Count | Storage IO Percent |
| --- | --- |
| image | image |

2. **Look for Scaling Patterns**:
- If you see `sudden increases or decreases` in the IOPS metric that correlate with workload changes, this indicates that autoscale IOPS has adjusted the performance level.
- You can also monitor `IO utilization percentage` to see how close your server is to its current IOPS limit.
3. **Enable Alerts (Optional)**: You can set up `alerts` in Azure Monitor to notify you when IOPS usage crosses certain thresholds, which can help you track scaling events in real time.


Total views

Refresh Date: 2025-07-16