Viewing RDS database recommendations
Compute Optimizer generates Amazon Relational Database Service (Amazon RDS) DB instances and RDS DB instance storage recommendations for RDS for MySQL, RDS for PostgreSQL, Amazon Aurora databases. These recommendations are displayed on the Recommendations for RDS DB instances and RDS DB instance details pages of the Compute Optimizer console. Both of these pages are divided into two separate tabs: Instance and Storage.
-
Recommendations for RDS DB instances page
Instance
This tab displays each of your current RDS DB instances, finding classifications, finding reasons, current instance type, estimated savings, and saving opportunities. The top recommendation from Compute Optimizer is listed next to each of your instances. This recommendation includes the recommended instance type, On-Demand pricing, and the price difference between your current instance. Use the recommendations page to compare your current instances with the top recommendation. Doing this can help you to decide if you want to upsize or downsize your instances.
Storage
This tab displays each of your current volumes, finding classifications, current volume type, and current price. The top recommendation from Compute Optimizer is listed next to each of your volumes. It includes the recommended volume type, recommended IOPS, the price of the recommendation, and the price difference between your current volume and the recommendation. You can use the recommendations page to compare your current volumes with their top recommendation, which can help you to decide if you should upsize or downsize your volume.
For more information about how to view your Amazon RDS DB recommendations, see Accessing RDS DB instance recommendations and details.
-
RDS DB instance details page
Instance
This tab displays optimization recommendations for a specific RDS DB instance or Aurora DB instance. It lists the specifications for each recommendation including performance risk, price difference, and On-Demand pricing.
Storage
This tab displays the optimization recommendation for an RDS DB instance storage. It lists the specifications for each recommendation including allocated storage, provisioned IOPS, throughput, and storage price difference.
Both detail pages display utilization metric graphs that you can use to compare the current instance or storage with the projected utilization metrics for the recommendation options. The graphs can help you to better understand the impact of these recommendations.
For more information about how to view your RDS DB instance and storage details, see Accessing RDS DB instance details page.
The recommendations are refreshed daily and they can take up to 12 hours to generate. Keep in mind that Compute Optimizer requires at least 30 hours of Amazon CloudWatch metrics to generate recommendations for Amazon RDS DB instances. For more information, see Resource requirements.
Contents
Finding classifications
The Finding column on the Recommendations for RDS DB instances page provides a summary of how your Amazon RDS DB and Aurora DB instances performed during the lookback period.
The following findings classifications apply to RDS DB instances.
Classification | Description |
---|---|
Under-provisioned |
When Compute Optimizer detects that there isn't enough CPU, memory, network bandwidth, EBS IOPS, or EBS throughput, an RDS DB instance is considered under-provisioned. Compute Optimizer displays finding reasons, such as CPU under-provisioned, Memory under-provisioned, EBS IOPS under-provisioned, and Network bandwidth under-provisioned. An under-provisioned RDS DB instance might result in poor application performance. |
Over-provisioned |
When Compute Optimizer detects that there is excessive CPU, EBS IOPS, network bandwidth, or EBS throughput, an RDS DB instance is considered over-provisioned. Compute Optimizer displays finding reasons, such as CPU over-provisioned, EBS IOPS over-provisioned, Network bandwidth over-provisioned, and EBS throughput over-provisioned. An over-provisioned RDS DB instance might result in additional infrastructure costs. |
Optimized |
When the specifications of your RDS DB instance meet the performance requirements of your workload, the RDS DB instance is considered optimized. For optimized instances, Compute Optimizer might recommend a new generation DB instance class or that a new engine version is available. |
The following findings classifications apply to RDS storage.
Classification | Description |
---|---|
Under-provisioned |
When Compute Optimizer detects that there isn't enough allocated storage or EBS throughput, an RDS storage volume is considered under-provisioned. Compute Optimizer displays a finding reason of EBS volume allocated storage under-provisioned or EBS volume throughput under-provisioned. An under-provisioned RDS DB instance storage volume might result in poor application performance. |
Over-provisioned |
When Compute Optimizer detects that there is excessive IOPS or EBS throughput, an RDS DB instance storage volume is considered over-provisioned. Compute Optimizer displays a finding reason of EBS volume IOPS over-provisioned or EBS volume throughput over-provisioned. An over-provisioned DB instance storage volume might result in additional infrastructure costs. |
Optimized |
When the specifications of your RDS DB instance storage volume meet the performance requirements of your workload, the storage is considered optimized. For optimized DB instance storage, Compute Optimizer might recommend a new generation storage type. |
For more information about under and over-provisioned RDS DB instances, see Finding reasons in the Viewing RDS database recommendations topic.
Finding reasons
The Finding reasons column on the Recommendations for RDS DB instances and RDS DB instance details pages shows which specification of an instance is under-provisioned or over-provisioned.
The following finding reasons apply to RDS DB instances:
Finding reason | Description |
---|---|
CPU over-provisioned |
The DB instance’s CPU configuration can be sized down and also meet the performance
requirements of your workload. This is identified by analyzing the
|
CPU under-provisioned |
The DB instance’s CPU configuration doesn't meet the performance requirements of your
workload and there is an alternative instance type that provides better CPU performance. This
is identified by analyzing the |
Memory under-provisioned |
The DB instance’s memory configuration doesn't meet the performance requirements of your workload and there isn't an alternative instance type that provides better memory performance. For RDS MySQL and RDS PostgreSQL DB instances, this is identified by analyzing the
For Aurora DB instances, this is identified by analyzing the |
EBS throughput over-provisioned |
The DB instance’s EBS throughput configuration can be sized down and also meet the
performance requirements of your workload. This is identified by analyzing the
|
EBS throughput under-provisioned |
The DB instance’s EBS throughput configuration doesn't meet the performance requirements
of your workload and there is an alternative instance type that provides better EBS
throughput performance. This is identified by analyzing the |
EBS IOPS over-provisioned |
The DB instance’s EBS IOPS configuration can be sized down and also meet the performance
requirements of your workload. This is identified by analyzing the
|
EBS IOPS under-provisioned |
The DB instance’s EBS IOPS configuration doesn't meet the performance requirements of
your workload and there is an alternative instance type that provides better EBS throughput
performance. This is identified by analyzing the
|
Network bandwidth over-provisioned |
The DB instance’s network bandwidth configuration can be sized down while still meeting
the performance requirements of your workload. For RDS MySQL and RDS PostgreSQL DB instances, this is identified by analyzing the
|
Network bandwidth under-provisioned |
The DB instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. For RDS MySQL and RDS PostgreSQL DB instances, this is identified by analyzing the
For Aurora DB instances, this is identified by analyzing the |
Instance storage read IOPS under-provisioned |
The DB instance's instance storage read IOPS limit doesn't meet the performance requirement
of your workload and there is an alternative instance type that provides better performance. For Aurora DB instances, this is identified
by analyzing the |
Instance storage write IOPS under-provisioned |
The DB instance's instance storage write IOPS limit doesn't meet the performance requirement of
your workload and there is an alternative instance type that provides better performance. For Aurora DB instances, this is identified
by analyzing the |
DB cluster writer under-provisioned |
This indicates that Compute Optimizer has synchornized the recommendation for this Aurora DB instance read replica with the DB cluster's writer because it has a promotion tier < or = to 1. Compute Optimizer does this to help you maintain your failover capacity. |
New generation DB instance class available |
If the current DB instance is a previous generation instance type, Compute Optimizer generates this finding reason to indicate that there is a new generation DB instance type available. We encourage you to use current generation instance types to get the best performance. |
New engine version available |
If the current engine version is deprecated, Compute Optimizer generates this finding reason to indicate that there is a new engine version available. |
The following finding reasons apply to RDS DB instance storage.
Finding reason | Description |
---|---|
EBS volume allocated storage under-provisioned |
The amount EBS volume allocated storage space attached to the DB instance doesn't meet
the performance requirements of your workload and there is an alternative volume type that
provides better allocated storage performance. This is identified by analyzing the
|
EBS volume IOPS over-provisioned |
The EBS volume IOPS configuration attached the DB instance can be sized down and also meet the
performance requirements of your workload. This is identified by analyzing the
|
EBS volume throughput under-provisioned |
The size of the EBS volume throughput attached the DB instance doesn't meet the performance requirements of your workload and there is an alternative volume type that provides better volume throughput performance. |
EBS volume throughput over-provisioned |
The EBS volume throughput attached the DB instance can be sized down and also meet the performance requirements of your workload. |
New generation storage type available |
If the current DB instance storage is a previous generation storage type, Compute Optimizer generates this finding reason to indicate that there is a new generation storage type available. We encourage you to use current generation storage types to get the best performance. |
AWS Graviton-based instance recommendations
When viewing Amazon RDS DB instance recommendations, you can view the price and performance impact of running your workload on AWS Graviton-based instances. To do so, choose Graviton (aws-arm64) in the CPU architecture preference dropdown. Otherwise, choose Current to view recommendations that are based on the same CPU vendor and architecture as the current RDS DB instance.
The Current price, Recommended price, Price difference, Price difference (%), and Estimated monthly savings columns are updated to provide a price comparison between the current DB instance type and the instance type of the selected CPU architecture preference. For example, if you choose Graviton (aws-arm64), prices are compared between the current DB instance type and the recommended Graviton-based instance type.
Estimated monthly savings and savings opportunity
Estimated monthly savings (after discounts)
Instance tab
This column lists the approximate monthly cost savings that you experience by migrating your workloads from the current RDS DB instance or type to the recommended type under the Reserved Instances pricing models. To receive recommendations with Reserved Instances discounts, activate the savings estimation mode preference.
Storage tab
This column lists the approximate monthly cost savings that you experience by migrating your RDS DB instance storage volumes from the current specifications to the recommended specifications under specific discounts. To receive recommendations with specific discounts, activate the savings estimation mode preference.
For more information, see Savings estimation mode.
Note
If you don't activate the savings estimation mode preference, this column on both the Instance and Storage tabs display the default On-Demand pricing discount information.
Estimated monthly savings (On-Demand)
Instance tab
This column lists the approximate monthly cost savings that you experience by migrating your workloads from the current RDS DB instance type to the recommended instance type under the On-Demand pricing model.
Storage tab
This column lists the approximate monthly cost savings that you experience by migrating your RDS DB instance storage volumes from the current specifications to the recommended specifications.
Savings opportunity (%)
This column lists the percentage difference between the price of the current instance and the price of the recommended RDS DB instance type. If savings estimation mode is activated, Compute Optimizer analyzes the Reserved Instances pricing discounts to generate the savings opportunity percentage. If savings estimation mode isn’t activated, Compute Optimizer only uses On-Demand pricing information. For more information, see Savings estimation mode.
Important
If you enable Cost Optimization Hub in AWS Cost Explorer, Compute Optimizer uses Cost Optimization Hub data, which includes your specific pricing discounts to generate your recommendations. If Cost Optimization Hub isn't enabled, Compute Optimizer uses Cost Explorer data and On-Demand pricing information to generate your recommendations. For more information, see Enabling Cost Explorer and Cost Optimization Hub in the in the AWS Cost Management User Guide.
Estimated monthly savings calculation
For each recommendation, Compute Optimizer calculate the cost to operate a new RDS DB instance or storage using the recommended specifications. Estimated monthly savings are calculated based on the number of running hours for the current instance or storage and the difference in rates between the current specifications and the recommended specifications. The estimated monthly savings for RDS DB instances and storage that are displayed on the Compute Optimizer dashboard is a sum of the estimated monthly savings for all over-provisioned findings in the account.
Performance risk
The performance risk columns on the RDS DB instance details page and the RDS DB instance recommendations page define the likelihood of the current and recommended instance type not meeting your workload requirements. Compute Optimizer calculates an individual performance risk score for each specification of the current and recommended instance. This includes specifications such as CPU, EBS throughput, and EBS IOPS. The performance risk of the current and recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
The values range from very low, low, medium, high, and very high. A very low performance risk means that the instance type is predicted to always provide enough capability. The higher the performance risk means that you should validate whether the instance meets the performance requirements of your workload before migrating your resource. Decide whether to optimize for performance improvement, for cost reduction, or for a combination of these two.
Comparison graphs
The Amazon RDS database details page displays utilization metric graphs for your current and recommended RDS DB instance and storage data for the lookback period. Compute Optimizer uses the maximum utilization point within each 5-minute time interval to generate RDS DB instance and storage recommendations.
You can change the graphs to display data for the last 24 hours, three days, one week, or two weeks. You can also change the statistic of the graphs between average and maximum.
The following comparison graphs are displayed on the RDS DB instance details page.