By using AWS re:Post, you agree to the Terms of Use
/Why Aurora's IOPS is much higher than the mysql IOPS deployed by EC2./

Why Aurora's IOPS is much higher than the mysql IOPS deployed by EC2.


A customer migrated mysql on EC2 to Aurora. Customers found that they increased the cost of IOPS every month. By looking at cloudwatch, Aurora's iops cost increased a lot. Aurora's total IOPS is nearly 20 times higher than mysql's iops. Here are some questions 1. Although Aurora's IOPS calculation is not the same as EBS's IOPS, is the gap so huge? 2.Aurora's maintenance IO such as 6ways copy, Snapshot, Etc. will be counted in the customer's bill? 3. Is there a difference between the table design on Aurora and mysql? Is there any way to optimize IOPS?

1 Answers
Accepted Answer

Aurora doesn't actually have IOPS per se like in RDS, so can you be more specific about which counter they are using? Is it Billed VolumeReadIOPS and VolumeWriteIOPS that they are using? and remember they need to keep in mind that they need to divide by 300 to get the number per second.

For Question 2, all activity within the aurora storage network itself is not billed. Backups are billed separately. Generally the answer to table design question is no, but that's hard to say always because aurora does scale differently. Is there a way to optimize I/O? Generally yes, use a bigger instance to cache more data rather than having to read I/O is a frequent solution, but again, you'd have to look at the use case specifically to make sure. A read replica could also help.



The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals.

Billed read operations are calculated at the cluster volume level, aggregated from all instances in the Aurora DB cluster, and then reported at 5-minute intervals. The value is calculated by taking the value of the Read operations metric over a 5-minute period. You can determine the amount of billed read operations per second by taking the value of the Billed read operations metric and dividing by 300 seconds. For example, if the Billed read operations returns 13,686, then the billed read operations per second is 45 (13,686 / 300 = 45.62).

You accrue billed read operations for queries that request database pages that aren't in the buffer cache and therefore must be loaded from storage. You might see spikes in billed read operations as query results are read from storage and then loaded into the buffer cache.

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions