Has Azure database for MySQL changed its IO percentage counting?

Harto Rannisto 5 Reputation points
2024-08-27T06:41:54.16+00:00

We have Azure Database for MySQL flexible server service running as the database for a WordPress site. We have some periodic sync tasks that fetch data from our backend server using WP All Import and it saves the data to this MySQL database. We have also Storage IO Percentage metric alert in this MySQL database. This has been working fine for some time and we have not done any changes to it recently.

Suddenly last week we started to get alerts from the database, that the IO percentage has went over the limit. When investigating this issue we found out, that there has been "Routine Maintenance"operation on August 21, so assuming it has run this August maintenance update:
https://learn.microsoft.com/en-us/azure/mysql/flexible-server/release-notes/august-2024

Right after that maintenance the Storage IO Percentage metrics have started to behave differently even though our database usage has stayed the same and the Storage IO Count metrics are showing exactly same kind of numbers as earlier. So when checking the Storage IO Count metric nothing has changed when this maintenance was run, there are same kind of peaks in the IO usage every time those periodic sync tasks are started, otherwise the IO usage is quite flat and moderate. But the Storage IO Percentage metric is now reporting totally different kind of numbers. Before this maintenance the IO Percentage was peaking at 10-15% when the sync tasks were running and other times it was around 1%. Right after this change the metric never goes under 5% level and hits the 100% every time those sync tasks are running. The day's three first task runs seem to be using more IO Count and in that case the IO Percentage also stays at the top longer, for about five minutes, where as with other task runs it just peaks at 100% and then drops immediately.

So what in the august database update has caused this change in the IO Percentage metrics change and has it been intentional? Are we now suddenly really hitting the limits of our database plan IO rates?

Azure Database for MySQL
Azure Database for MySQL
An Azure managed MySQL database service for app development and deployment.
848 questions
{count} votes

1 answer

Sort by: Most helpful
  1. ShaktiSingh-MSFT 15,421 Reputation points
    2024-08-27T08:38:42.58+00:00

    Hi Harto •,

    Welcome to Microsoft Q&A forum.

    As I understand, you are experiencing change in Storage IOPS count for Azure Database for MySQL.

    From the details it appears to be Autoscale IOPS configuration, it offers the flexibility to scale IOPS on demand, eliminating the need to pre-provision a specific amount of IO per second. By enabling Autoscale IOPS, your server will automatically adjust IOPS based on workload requirements. With the Autoscale IOPS featured enable, you can now enjoy worry free IO management in Azure Database for MySQL flexible server because the server scales IOPs up or down automatically depending on workload needs. For detailed information on the ‘Max Supported IOPS’ for each service tier and compute size, refer to the service tiers documentation. AutoScale IOPS will scale up to these limits to optimize your workload performance.

    User's image

    For example, E-commerce workloads:

    If you own an e-commerce website that experiences fluctuations in traffic throughout the year. During normal periods, the workload is moderate, but during holiday seasons or special promotions, the traffic surges exponentially.

    With Autoscale IOPS, your database can dynamically adjust its IOPS to handle the increased workload during peak periods. When traffic spikes, such as during Black Friday sales, the auto scale feature allows your database to seamlessly scale up the IOPS to meet the demand. This ensures smooth and uninterrupted performance, preventing slowdowns or service disruptions. After the peak period, when the traffic subsides, the IOPS scale back down, allowing for cost savings as you only pay for the resources utilized during the surge.

    You may move back to pre-provisioned IOPS by opting for pre-provisioned IOPS under Compute + Storage section under Settings blade.

    Refer: https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-storage-iops

    for more details.

    Hope this helps.

    Let us know if you have a different ask.

    Thanks

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.