RDS Compute Optimization


Hi, We have a long-running RDS DB, and we would like to pay upfront for it, we want to know what is the best instance type to use.
Is there a tool like AWS compute optimizer for RDS?
If not, how do you determine what is the best-fit instance type?

2 Answers

I'm not aware of a tool, but you can use these guidelines:

Choose a T2 RDS instance if: you’re just starting out and need some buffering room for spikes in performance to get a sense of what baseline database performance will be like. But keep in mind that AWS Aurora is only available on the db.t2.medium and that no T2 database instances can have Provisioned IOPS.

Choose the M4 if: your database workload doesn’t run too many in-memory functions, and you have a general sense of your performance. You’ll have more options as far as provisioning increased IOPS with this family as well.

Choose the R3 if: there are memory-intensive workloads to run. It’ll be interesting to see if AWS creates a new R4 fleet of RDS instances now that the R4s are available on EC2. If a project scales beyond the R3 database instance family AWS now has a couple of options on EC2 with the memory-heavy X1 family, but keep in mind that using EC2 means giving up the database management-centric features and benefits of RDS.

You can read more at:




I hope it helped.

answered 2 months ago

I would start by analysing the cpu utilization, the memory utilization and the database connections over a longer period of time. If you for example has a low CPU usage but a higher memory usage the r5 instance would be a good fit. If you need both cpu and memory then the m5 might be a good fit. You didn't say what kind of database and it's version you were running in RDS, if it's MySQL in >= version 8.0.17 then I would recommend you to use the graviton based instances instead, r6g and m6g. Graviton instances provides you with up to 35% better performance and up to 52% improved price performance.

And in regards to database connections. Each instance size has a maximum connection limit, make sure you choose an instance that can support the amount of connections you expect to hit at maximum load. Read more here

answered 2 months 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