Viewing RDS DB instance recommendations - AWS Compute Optimizer

Viewing RDS DB instance recommendations

Compute Optimizer generates RDS DB instances and RDS DB instance storage recommendations for Amazon RDS MySQL and Amazon RDS PostgreSQL database engines. 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

    The page lists data that includes 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 their top recommendation. Doing this can help you to decide if you want to up-size or down-size your instances.

    Storage

    This page lists data that includes 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 and it includes the recommended volume type, recommended IOPS, the price of the recommendation, and the price difference between your current volume and the recommendation. Use the recommendations page to compare your current volumes with their top recommendation, which can help you to decide if you should up-size or down-size 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 page lists up to two optimization recommendations for a specific RDS DB instance. It lists the specifications for each recommendation including performance risk, price difference, and On-Demand pricing.

    Storage

    This page provides the optimization recommendation for a 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 can be used 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 requires at least 30 hours of CloudWatch metrics to generate recommendations for Amazon RDS DB instances. For more information, see Resource requirements.

Finding classifications

The Finding column on the Recommendations for RDS DB instances page provides a summary of how your RDS DB instances and storage performed during the lookback period.

The following findings classifications apply to RDS DB instances.

Classification Description

Under-provisioned

When Compute Optimizer detects that there’s not enough CPU, memory, network bandwidth, EBS IOPS, or EBS throughput, an RDS DB instance is considered under-provisioned. Compute Optimizer displays a finding reason of CPU under-provisioned, Network bandwidth under-provisioned, or EBS throughput under-provisioned. An under-provisioned RDS DB instance might result in poor application performance.

Over-provisioned

When Compute Optimizer detects that there’s excessive CPU, EBS IOPS, network bandwidth, or EBS throughput, an RDS DB instance is considered over-provisioned. Compute Optimizer displays a finding reason of CPU over-provisioned, EBS IOPS over-provisioned, Network bandwidth over-provisioned, or 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’s not 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’s 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 an under and over provisioned RDS DB instances, see Finding reasons in the Viewing RDS DB instance 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

CPUOverprovisioned

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 CPUUtilization metric of the current instance during the lookback period.

CPUUnderprovisioned

The DB instance’s CPU configuration doesn't meet the performance requirements of your workload and there's an alternative instance type that provides better CPU performance. This is identified by analyzing the CPUUtilization metric of the current instance during the lookback period.

EBSThroughputOverprovisioned

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 VolumeReadBytes and VolumeWriteBytes metric of EBS volumes attached to the current instance during the lookback period.

EBSThroughputUnderprovisioned

The DB instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there's an alternative instance type that provides better EBS throughput performance. This is identified by analyzing the VolumeReadBytes and VolumeWriteBytes metric of EBS volumes that are attached to the current instance during the lookback period.

EBSIOPSOverprovisioned

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 VolumeReadOps and VolumeWriteOps metrics of EBS volumes attached to the current instance during the look-back period.

NetworkBandwidthOverprovisioned

The DB instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the NetworkIn and NetworkOut metrics of the current instance during the look-back period.

NetworkBandwidthUnderprovisioned

The DB instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there's an alternative instance type that provides better network bandwidth performance. This is identified by analyzing the NetworkIn and NetworkOut metrics of the current instance during the look-back period. This finding reason happens when the NetworkIn or NetworkOut performance of an instance is impacted.

NewGenerationDBInstanceClassAvailable

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.

NewEngineVersionAvailable

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

EBSVolumeAllocatedStorageUnderprovisioned

The amount EBS volume allocated storage space attached to the DB instance doesn't meet the performance requirements of your workload and there's an alternative volume type that provides better allocated storage performance. This is identified by analyzing the VolumeReadOps and VolumeWriteOps metrics of EBS volumes attached to the current instance during the lookback period.

EBSVolumeIOPSOverprovisioned

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 VolumeReadBytes and VolumeWriteBytes metrics of EBS volumes attached to the current instance during the look-back period.

EBSVolumeThroughputUnderprovisioned

The size of the EBS volume throughput attached the DB instance doesn't meet the performance requirements of your workload and there's an alternative volume type that provides better volume throughput performance.

EBSVolumeThroughputOverprovisioned

The EBS volume throughput attached the DB instance can be sized down and also meet the performance requirements of your workload.

NewGenerationStorageTypeAvailable

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, the savings estimation mode preference needs to be activated.

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, the savings estimation mode preference needs to be activated.

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, we 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 column on the RDS DB instance details page defines the likelihood of each recommended instance type not meeting the resource needs of your workload. Compute Optimizer calculates an individual performance risk score for each specification of the recommended instance. This includes specifications such as CPU, EBS throughput, and EBS IOPS. The performance risk of the 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 recommendation is predicted to always provide enough capability. The higher the performance risk is, the more highly we recommend that you validate whether the recommendation 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 DB instance 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.

The solid blue line is the utilization of your current service. The orange lines are the projected upper and lower bound values if you used the recommendations during the analysis period.

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:

Graph name Description

CPU utilization

The percentage of allocated compute units that are in use on the DB instance. This metric identifies the processing power that's required to run an application on an instance.

Database connections (count)

The number of client sessions that are connected to the DB instance.

Network receive throughput (MiB/second)

The incoming (receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.

Network transmit throughput (MiB/second)

The outgoing (transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.

EBS read operations (per second)

The average number of disk read I/O operations per second.

EBS write operations (per second)

The average number of disk write I/O operations per second.

EBS read throughput (MiB/second)

The average number of bytes read from disk per second.

EBS write throughput (MiB/second)

The average number of bytes written to disk per second.

EBS IO balance (percent)

The percentage of I/O credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only.

EBS Byte Balance (percent)

The percentage of throughput credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only.

Free storage space

The amount of available storage space.

DB Load

The level of session activity in your database. For more information, see Database load in the Amazon Relational Database Service User Guide.

Swap in (KB)

The amount of memory, in kilobytes, swapped in from disk.

Swap out (KB)

The amount of memory, in kilobytes, swapped out to disk.

Note

The DB Load, Swap in (KB), and Swap out (KB) metrics are only available if you enabled Amazon RDS Performance Insights. To enable Performance Insights for your DB instances, see Turning Performance Insights on and off for Amazon RDS in the Amazon Relational Database Service User Guide.