AWS Aurora MySQL Serverless CPU utilisation is above 10 even it is not processing any requests

Posted on

Question :

We have Aurora MySQL serverless DB with 2 capacity units. I didn’t understand why the CPU utilisation is always above 10 even when it not processing any queries. As a result we are paying more bills without any use. Can someone help me to understand how the CPU utilisation is calculated and why serveless is charging even when it is in ideal state(not serving any requests).
enter image description here

Answer :

Run show processlist or an analogous command. 10% doesn’t seem unreasonable but the database is obviously doing something at this time.

It seems as though this product puts a large emphasis on replication and durability. From the product description, “Amazon Aurora is designed to offer greater than 99.99% availability, replicating 6 copies of your data across 3 Availability Zones and backing up your data continuously to Amazon S3”

What I’m getting at is that 10% cpu usage could likely be the result of synchronization/replication thread(s).

To expand on @MarCPlusPlus’s answer, this is almost certainly due to data replication processes. If you enable the MySQL general_log (which you can do via RDS parameter groups), you can see for yourself that Aurora is constantly executing 2-5 INSERTS per second into system tables (ie, mysql.rds_heartbeat). A quick Google search indicates that this is related to data replication.

Leave a Reply

Your email address will not be published. Required fields are marked *