

# Recommendations from Amazon Aurora


Amazon Aurora provides automated recommendations for database resources, such as DB instances, DB clusters, and DB parameter groups. These recommendations provide best practice guidance by analyzing DB cluster configuration,  DB instance configuration, usage, and performance data.

Amazon RDS Performance Insights monitors specific metrics and automatically creates thresholds by analyzing what levels are considered potentially problematic for a specified resource. When new metric values cross a predefined threshold over a given period of time, Performance Insights generates a proactive recommendation. This recommendation helps to prevent future database performance impact. For example, the "Idle In Transaction" recommendation is generated for Aurora PostgreSQL instances when the sessions connected to the database are not performing active work, but can keep database resources blocked. To receive proactive recommendations, you must turn on Performance Insights with a paid tier retention period. For information about turning on Performance Insights, see [Turning Performance Insights on and off for Aurora](USER_PerfInsights.Enabling.md). For information about pricing and data retention for Performance Insights see [Pricing and data retention for Performance Insights](USER_PerfInsights.Overview.cost.md).

DevOps Guru for RDS monitors certain metrics to detect when the metric's behavior becomes highly unusual or anomalous. These anomalies are reported as reactive insights with recommendations. For example, DevOps Guru for RDS might recommend you to consider increasing CPU capacity or investigate wait events that are contributing to DB load. DevOps Guru for RDS also provides threshold based proactive recommendations. For these recommendations, you must turn on DevOps Guru for RDS. For information about turning on DevOps Guru for RDS, see [Turning on DevOps Guru and specifying resource coverage](devops-guru-for-rds.md#devops-guru-for-rds.configuring.coverage). 

Recommendations will be in any of the following status: active, dismissed, pending, or resolved. Resolved recommendations are available for 365 days.

You can view or dismiss the recommendations. You can apply a configuration based active recommendation immediately, schedule it in the next maintenance window, or dismiss it. For threshold based proactive and machine learning based reactive recommendations, you need to review the suggested cause of the issue and then perform the recommended actions to fix the issue. 

Recommendations are supported in the following AWS Regions:
+ US East (Ohio)
+ US East (N. Virginia)
+ US West (N. California)
+ US West (Oregon)
+ Asia Pacific (Mumbai)
+ Asia Pacific (Seoul)
+ Asia Pacific (Singapore)
+ Asia Pacific (Sydney)
+ Asia Pacific (Tokyo)
+ Canada (Central)
+ Europe (Frankfurt)
+ Europe (Ireland)
+ Europe (London)
+ Europe (Paris)
+ Europe (Stockholm)
+ South America (São Paulo)

Learn to view, apply, dismiss, and modify recommendations from Amazon Aurora in the following sections.

**Topics**
+ [

# Viewing Amazon Aurora recommendations
](UserRecommendationsView.md)
+ [

# Applying Amazon Aurora recommendations
](USERRecommendationsManage.ApplyRecommendation.md)
+ [

# Dismissing Amazon Aurora recommendations
](USERRecommendationsManage.DismissRecommendation.md)
+ [

# Modifying dismissed Amazon Aurora recommendations to active recommendations
](USERRecommendationsManage.DismissToActiveRecommendation.md)
+ [

# Recommendations from Amazon Aurora reference
](USERRecommendationsManage.RecommendationReference.md)

# Viewing Amazon Aurora recommendations
Viewing recommendations

Using the Amazon RDS console, you can view Amazon Aurora recommendations for your database resources. For a DB cluster, the recommendations appear for the DB cluster and its instances.

## Console


**To view the Amazon Aurora recommendations**

1. Sign in to the AWS Management Console and open the Amazon RDS console at [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. In the navigation pane, do any of the following:
   + Choose **Recommendations**. The number of active recommendations for your resources and the number of recommendations with the highest severity generated in the last month are available next to **Recommendations**. To find the number of active recommendations for each severity, choose the number that shows the highest severity.   
![\[Select Recommendations in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/recommendations-select.png)

     By default, the **Recommendations** page displays a list of new recommendations in the last month. Amazon Aurora gives recommendations for all the resources in your account and sorts the recommendations by their severity.  
![\[Main Recommendations page in the console which contains all the recommendations\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_List.png)

     You can choose a recommendation to view a section at the bottom of the page which contains the affected resources and details of how the recommendation will be applied.
   + In the **Databases** page, choose **Recommendations** for a resource.  
![\[Recommendation option selected on Databases page in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_DBpage.png)

     The **Recommendations** tab displays the recommendations and its details for the selected resource.  
![\[Recommendations tab on Databases page in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/RecommendationsTab_DBpage.png)

   The following details are available for the recommendations:
   + **Severity** – The implication level of the issue. The severity levels are **High**, **Medium**, **Low**, and **Informational**.
   + **Detection** – The number of affected resources and a short description of the issue. Choose this link to view the recommendation and the analysis details.
   + **Recommendation** – A short description of the recommended action to apply.
   + **Impact** – A short description of the possible impact when the recommendation isn't applied.
   + **Category** – The type of recommendation. The categories are **Performance efficiency**, **Security**, **Reliability**, **Cost optimization**, **Operational excellence**, and **Sustainability**.
   + **Status** – The current status of the recommendation. The possible statuses are **All**, **Active**, **Dismissed**, **Resolved**, and **Pending**.
   + **Start time** – The time when the issue began. For example, **18 hours ago**.
   + **Last modified** – The time when the recommendation was last updated by the system because of a change in the **Severity**, or the time you responded to the recommendation. For example, **10 hours ago**.
   + **End time** – The time when the issue ended. The time won't display for any continuing issues.
   + **Resource identifier** – The name of one or more resources.

1. (Optional) Choose **Severity** or **Category** operators in the field to filter the list of recommendations.  
![\[Recommendations page with severity operation in the console.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_Severity.png)

   The recommendations for the selected operation appear.

1. (Optional) Choose any of the following recommendation status:
   + **Active** (default) – Shows the current recommendations that you can apply, schedule it for the next maintenance window, or dismiss. 
   + **All** – Shows all the recommendations with the current status.
   + **Dismissed** – Shows the dismissed recommendations.
   + **Resolved** – Shows the recommendations that are resolved.
   + **Pending** – Shows the recommendations whose recommended actions are in progress or scheduled for the next maintenance window.   
![\[Recommendations filtered by status in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_Status.png)

1. (Optional) Choose **Relative mode** or **Absolute mode** in **Last modified** to modify the time period. The **Recommendations** page displays the recommendations generated in the time period. The default time period is the last month. In the **Absolute mode**, you can choose the time period, or enter the time in **Start date** and **End date** fields.  
![\[Recommendations filtered by time period in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_TimeMode.png)

   The recommendations for the set time period display.

   Note that you can see all recommendations for resources in your account by setting the range to **All**.

1. (Optional) Choose **Preferences** in the right to customize the details to display. You can choose a page size, wrap the lines of the text, and allow or hide the columns.

1. (Optional) Choose a recommendation and then choose **View details**.  
![\[Recommendations page in the console with a selected recommendation and view details button chosen.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_viewDetailsSelect.png)

   The recommendation details page appears. The title provides the total count of the resources with the issue detected and the severity.

   For information about the components on the details page for an anomaly based reactive recommendation, see [Viewing reactive anomalies](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.analyzing.metrics.html) in the *Amazon DevOps Guru User Guide*.

   For information about the components on the details page for a threshold based proactive recommendation, see [Viewing Performance Insights proactive recommendations](USER_PerfInsights.InsightsRecommendationViewDetails.md).

   The other automated recommendations display the following components on the recommendation details page:
   + **Recommendation** – A summary of the recommendation and whether downtime is required to apply the recommendation.  
![\[Recommendations details page showing Recommendation section in the console.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/RecommendationSummary.png)
   + **Resources affected** – Details of the affected resources.  
![\[Recommendations details page showing Resources Affected section in the console.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_AffectedResources.png)
   + **Recommendation details** – Supported engine information, any required associated cost to apply the recommendation, and documentation link to learn more.  
![\[Recommendations details page showing Recommendation details section in the console.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/RecommendationDetails.png)

## CLI


To view Amazon RDS recommendations of the DB instances or DB clusters, use the following command in AWS CLI.

```
aws rds describe-db-recommendations
```

## RDS API


To view Amazon RDS recommendations using the Amazon RDS API, use the [DescribeDBRecommendations](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBRecommendations.html) operation.

# Applying Amazon Aurora recommendations
Applying recommendations

To apply Amazon Aurora recommendations using the Amazon RDS console, select a configuration based recommendation or an affected resource in the details page. Then, choose to apply the recommendation immediately or schedule it for the next maintenance window. The resource might need to restart for the change to take effect. For a few DB parameter group recommendations, you might need to restart the resources.

The threshold based proactive or anomaly based reactive recommendations won't have the apply option and might need additional review.

## Console


**To apply a configuration based recommendation**

1. Sign in to the AWS Management Console and open the Amazon RDS console at [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. In the navigation pane, perform any of the following:
   + Choose **Recommendations**.

     The **Recommendations** page appears with the list of all recommendations.
   + Choose **Databases** and then choose **Recommendations** for a resource in the databases page.

     The details appear in the **Recommendations** tab for the selected recommendation.
   + Choose **Detection** for an active recommendation in the **Recommendations** page or the **Recommendations** tab in the **Databases** page.

     The recommendation details page appears.

1. Choose a recommendation, or one or more affected resources in the recommendation details page, and do any of the following:
   + Choose **Apply** and then choose **Apply immediately** to apply the recommendation immediately.
   + Choose **Apply** and then choose **Apply in next maintenance window** to schedule in the next maintenance window.

     The selected recommendation status is updated to pending until the next maintenance window.  
![\[An active recommendation selected and Apply button with its options highlighted in the console.\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_Apply_Defer.png)

   A confirmation window appears.

1. Choose **Confirm application** to apply the recommendation. This window confirms whether the resources need an automatic or manual restart for the changes to take effect.

   The following example shows the confirmation window to apply the recommendation immediately.  
![\[The confirmation window in the console to apply the recommendation immediately\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_ApplyImmediately.png)

   The following example shows the confirmation window to schedule applying the recommendation in the next maintenance window.  
![\[The confirmation window in the console to schedule applying the recommendation in the next maintenance window\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_Defer.png)

   A banner displays a message when the recommendation applied is successful or has failed.

   The following example shows the banner with the successful message.   
![\[A banner in the console showing the message with the number of resources that will apply the recommendation\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-Apply-Banner.png)

   The following example shows the banner with the failure message.   
![\[A banner in the console showing the message with the resource that failed to apply the recommendation and the reason for the failure\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-Apply-Banner-failure.png)

## RDS API


**To apply a configuration based Aurora recommendation using the Amazon RDS API**

1. Use the [DescribeDBRecommendations](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBRecommendations.html) operation. The `RecommendedActions` in the output can have one or more recommended actions.

1. Use the [RecommendedAction](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RecommendedAction.html) object for each recommended action from step 1. The output contains `Operation` and `Parameters`.

   The following example shows the output with one recommended action.

   ```
       "RecommendedActions": [
           {
               "ActionId": "0b19ed15-840f-463c-a200-b10af1b552e3",
               "Title": "Turn on auto backup", // localized
               "Description": "Turn on auto backup for my-mysql-instance-1", // localized
               "Operation": "ModifyDbInstance",
               "Parameters": [
                   {
                       "Key": "DbInstanceIdentifier",
                       "Value": "my-mysql-instance-1"
                   },
                   {
                       "Key": "BackupRetentionPeriod",
                       "Value": "7"
                   }
               ],
               "ApplyModes": ["immediately", "next-maintenance-window"],
               "Status": "applied"
           },
           ... // several others
       ],
   ```

1. Use the `operation` for each recommended action from the output in step 2 and input the `Parameters` values.

1. After the operation in step 2 is successful, use the [ModifyDBRecommendation](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBRecommendation.html) operation to modify the recommendation status.

# Dismissing Amazon Aurora recommendations
Dismissing recommendations

You can dismiss one or more Amazon Aurora recommendations using the Amazon RDS console, AWS CLI, or Amazon RDS API.

## Console


**To dismiss one or more recommendations**

1. Sign in to the AWS Management Console and open the Amazon RDS console at [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. In the navigation pane, perform any of the following:
   + Choose **Recommendations**.

     The **Recommendations** page appears with the list of all recommendations.
   + Choose **Databases** and then choose **Recommendations** for a resource in the databases page.

     The details appear in the **Recommendations** tab for the selected recommendation.
   + Choose **Detection** for an active recommendation in the **Recommendations** page or the **Recommendations** tab in the **Databases** page.

     The recommendation details page displays the list of affected resources.

1. Choose one or more recommendation, or one or more affected resources in the recommendation details page, and then choose **Dismiss**.

   The following example shows the **Recommendations** page with multiple active recommendations selected to dismiss.  
![\[A few active recommendations selected and dismiss button highlighted in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_Dismiss.png)

   A banner displays a message when the selected one or more recommendations are dismissed.

   The following example shows the banner with the successful message.   
![\[A banner in the console showing the message with the number of resources that were successful to dismiss the recommendation\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-Dismiss-Banner.png)

   The following example shows the banner with the failure message.  
![\[A banner in the console showing the message with the resource that failed to dismiss the recommendation\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-Dismiss-Banner-failure.png)

## CLI


**To dismiss an Aurora recommendation using the AWS CLI**

1. Run the command `aws rds describe-db-recommendations --filters "Name=status,Values=active"`.

   The output provides a list of recommendations in `active` status.

1. Find the `recommendationId` for the recommendation that you want to dismiss from step 1.

1. Run the command `>aws rds modify-db-recommendation --status dismissed --recommendationId <ID>` with the `recommendationId` from step 2 to dismiss the recommendation.

## RDS API


To dismiss an Aurora recommendation using the Amazon RDS API, use the [ModifyDBRecommendation](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBRecommendation.html) operation.

# Modifying dismissed Amazon Aurora recommendations to active recommendations
Modifying dismissed recommendations to active

You can move one or more dismissed Amazon Aurora recommendations to active recommendations using the Amazon RDS console, AWS CLI, or Amazon RDS API.

## Console


**To move one or more dismissed recommendations to active recommendations**

1. Sign in to the AWS Management Console and open the Amazon RDS console at [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. In the navigation pane, perform any of the following:
   + Choose **Recommendations**.

     The **Recommendations** page displays a list of recommendations sorted by the severity for all the resources in your account.
   + Choose **Databases** and then choose **Recommendations** for a resource in the databases page.

     The **Recommendations** tab displays the recommendations and its details for the selected resource.

1. Choose one or more dismissed recommendations from the list and then choose **Move to active**.  
![\[A few dismissed recommendations selected and Move to active button highlighted in the console\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendations_DismissToActive.png)

   A banner displays a successful or failure message when the moving the selected recommendations from dismissed to active status.

   The following example shows the banner with the successful message.  
![\[a banner in the console showing the message with the number of resources moved successfully from dismissed to active recommendations\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-DismissToActive-Banner.png)

   The following example shows the banner with the failure message.  
![\[a banner in the console showing the message with the resource that failed to move from dismissed to active recommendations\]](http://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/images/Recommendation-DismissToActive-Banner-Failure.png)

## CLI


**To change a dismissed Aurora recommendation to active recommendation using the AWS CLI**

1. Run the command `aws rds describe-db-recommendations --filters "Name=status,Values=dismissed"`.

   The output provides a list of recommendations in `dismissed` status.

1. Find the `recommendationId` for the recommendation that you want to change the status from step 1.

1. Run the command `>aws rds modify-db-recommendation --status active --recommendationId <ID>` with the `recommendationId` from step 2 to change to active recommendation.

## RDS API


To change a dismissed Aurora recommendation to active recommendation using the Amazon RDS API, use the [ModifyDBRecommendation](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBRecommendation.html) operation.

# Recommendations from Amazon Aurora reference
Recommendations reference

Amazon Aurora generates recommendations for a resource when the resource is created or modified. You can find examples of recommendations from Amazon Aurora in the following table. 


| Type | Description | Recommendation | Downtime required | Additional information | 
| --- | --- | --- | --- | --- | 
|  Resource Automated backups is turned off  |  Automated backups aren't turned on for your DB instances. Automated backups are recommended because they enable point-in-time recovery of your DB instances.  |  Turn on automated backups with a retention period of up to 14 days.  |  Yes  |  [Overview of backing up and restoring an Aurora DB cluster](Aurora.Managing.Backups.md) [ Demystifying Amazon RDS backup storage costs](https://aws.amazon.com/blogs/database/demystifying-amazon-rds-backup-storage-costs/) on the AWS Database Blog   | 
|  Engine minor version upgrade is required  |  Your database resources aren't running the latest minor DB engine version. The latest minor version contains the latest security fixes and other improvements.  |  Upgrade to latest engine version.  |  Yes  |  [Maintaining an Amazon Aurora DB cluster](USER_UpgradeDBInstance.Maintenance.md)  | 
|  Enhanced Monitoring is turned off  |  Your database resources don't have Enhanced Monitoring turned on. Enhanced Monitoring provides real-time operating system metrics for monitoring and troubleshooting.  |  Turn on Enhanced Monitoring.  |  No  |  [Monitoring OS metrics with Enhanced Monitoring](USER_Monitoring.OS.md)  | 
|  Storage encryption is turned off  |  Amazon RDS supports encryption at rest for all the database engines by using the keys that you manage in AWS Key Management Service (AWS KMS). On an active DB instance with Amazon RDS encryption, the data stored at rest in the storage is encrypted, similar to automated backups, read replicas, and snapshots. If encryption isn't turned on while creating an Aurora DB cluster, you must restore a decrypted snapshot to an encrypted DB cluster.  |  Turn on encryption of data at rest for your DB cluster.  |  Yes  |  [Security in Amazon Aurora](UsingWithRDS.md)  | 
|  DB clusters with all instances in the same Availability Zone  |  The DB clusters are currently in a single Availability Zone. Use multiple Availability Zones to improve the availability.  |  Add the DB instances to multiple Availability Zones in your DB cluster.  |  No  |  [High availability for Amazon Aurora](Concepts.AuroraHighAvailability.md)  | 
|  DB instances in the clusters with heterogeneous instance sizes  |  We recommend that you use the same DB instance class and size for all the DB instances in your DB cluster.  |  Use the same instance class and size for all the DB instances in your DB cluster.  |  Yes  |  [Replication with Amazon Aurora](Aurora.Replication.md)  | 
|  DB instances in the clusters with heterogeneous instance classes  |  We recommend that you use the same DB instance class and size for all the DB instances in your DB cluster.  |  Use the same instance class and size for all the DB instances in your DB cluster.  |  Yes  |  [Replication with Amazon Aurora](Aurora.Replication.md)  | 
|  DB instances in the clusters with heterogeneous parameter groups  |  We recommend that all of the DB instances in the DB cluster use the same DB parameter group.  |  Associate the DB instance with the DB parameter group associated with the writer instance in your DB cluster.  |  No  |  [Parameter groups for Amazon Aurora](USER_WorkingWithParamGroups.md)  | 
| Amazon RDS DB clusters have one DB instance | Add at least one more DB instance to your DB cluster to improve availability and performance. | Add a reader DB instance to your DB cluster. | No |  [High availability for Amazon Aurora](Concepts.AuroraHighAvailability.md)  | 
| Performance Insights is turned off | Performance Insights monitors your DB instance load to help you analyze and resolve database performance issues. We recommend that you turn on Performance Insights. | Turn on Performance Insights. | No |  [Monitoring DB load with Performance Insights on Amazon Aurora](USER_PerfInsights.md)  | 
|  RDS resources major versions update is required | Databases with the current major version for the DB engine won't be supported. We recommend that you upgrade to the latest major version which includes new functionality and enhancements. | Upgrade to the latest major version for the DB engine. | Yes |  [Amazon Aurora updates](Aurora.Updates.md) [Creating a blue/green deployment in Amazon Aurora](blue-green-deployments-creating.md)  | 
| DB cluster maximum volume size | Newer engine versions support larger storage volumes for your DB cluster. | We recommend that you upgrade the engine version of your DB cluster to the latest version to benefit from increased storage capacity.  | Yes |  [Amazon Aurora size limits](CHAP_Limits.md#RDS_Limits.FileSize.Aurora)  | 
| DB clusters with all reader instances in the same Availability Zone | Availability Zones (AZs) are locations that are distinct from each other to provide isolation in case of outages within each AWS Region. We recommend that you distribute the primary instance and reader instances in your DB cluster across multiple AZs to improve the availability of your DB cluster. You can create a Multi-AZ cluster using the AWS Management Console, AWS CLI, or Amazon RDS API when you create the cluster. You can modify the existing Aurora cluster to a Multi-AZ cluster by adding a new reader instance and specifying a different AZ. | Your DB cluster has all of its read instances in the same Availability Zone. We recommend that you distribute the reader instances across multiple Availability Zones. Distribution increases availability and improves response time by reducing network latency between clients and the database. | No |  [High availability for Amazon Aurora](Concepts.AuroraHighAvailability.md)  | 
| DB memory parameters are diverging from default | The memory parameters of the DB instances are significantly different from the default values. These settings can impact performance and cause errors. We recommend that you reset the custom memory parameters for the DB instance to their default values in the DB parameter group.  | Reset the memory parameters to their default values. | No |  [Parameter groups for Amazon Aurora](USER_WorkingWithParamGroups.md)  | 
| Query cache parameter is turned on | When changes require that your query cache is purged, your DB instance will appear to stall. Most workloads don't benefit from a query cache. The query cache was removed from MySQL 8.0 and higher versions. We recommend that you set the query\$1cache\$1type parameter to 0. | Set the `query_cache_type` parameter value to `0` in your DB parameter groups. | Yes |  [Parameter groups for Amazon Aurora](USER_WorkingWithParamGroups.md)  | 
| `log_output` parameter is set to table | When `log_output` is set to `TABLE`, more storage is used than when `log_output` is set to `FILE`. We recommend that you set the parameter to `FILE`, to avoid reaching the storage size limit. Set to `FILE` by default in MySQL 8.4 and higher versions. | Set the `log_output` parameter value to `FILE` in your DB parameter groups. | No |  [AuroraMySQL database log files](USER_LogAccess.Concepts.MySQL.md)  | 
| `autovacuum` parameter is turned off | The autovacuum parameter is turned off for your DB clusters. Turning autovacuum off increases the table and index bloat and impacts the performance. We recommend that you turn on autovacuum in your DB parameter groups.  | Turn on the autovacuum parameter in your DB cluster parameter groups. | No |  [ Understanding autovacuum in Amazon RDS for PostgreSQL environments](https://aws.amazon.com/blogs/database/understanding-autovacuum-in-amazon-rds-for-postgresql-environments/) on the AWS Database Blog  | 
| `synchronous_commit` parameter is turned off | When `synchronous_commit` parameter is turned off, data can be lost in a database crash. The durability of the database is at risk. We recommend that you turn on the `synchronous_commit` parameter.  | Turn on `synchronous_commit` parameter in your DB parameter groups. | Yes |  [ Amazon Aurora PostgreSQL parameters: Replication, security, and logging](https://aws.amazon.com/blogs/database/amazon-aurora-postgresql-parameters-part-2-replication-security-and-logging/) on the AWS Database Blog  | 
| `track_counts` parameter is turned off | When the `track_counts` parameter is turned off, the database doesn't collect the database activity statistics. Autovacuum requires these statistics to work correctly. We recommend that you set `track_counts` parameter to `1`. | Set `track_counts` parameter to `1`. | No |  [Run-time Statistics for PostgreSQL](https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-COUNTS)   | 
| `enable_indexonlyscan` parameter is turned off | The query planner or optimizer can't use the index-only scan plan type when it is turned off. We recommend that you set the `enable_indexonlyscan` parameter value to `1`. | Set the `enable_indexonlyscan` parameter value to `1`. | No |  [Planner Method Configuration for PostgreSQL](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INDEXONLYSCAN)  | 
| `enable_indexscan` parameter is turned off | The query planner or optimizer can't use the index scan plan type when it is turned off. We recommend that you set the `enable_indexscan` value to `1`. | Set the `enable_indexscan` parameter value to `1`. | No |  [Planner Method Configuration for PostgreSQL](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INDEXONLYSCAN)  | 
| `innodb_flush_log_at_trx` parameter is turned off | The value of the `innodb_flush_log_at_trx` parameter of your DB instance isn't safe value. This parameter controls the persistence of commit operations to disk. We recommend that you set the `innodb_flush_log_at_trx` parameter to `1`. | Set the `innodb_flush_log_at_trx` parameter value to `1`. | No |  [Configuring how frequently the log buffer is flushed](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)  | 
| `innodb_stats_persistent` parameter is turned off | Your DB instance isn't configured to persist the InnoDB statistics to the disk. When the statistics aren't stored, they are recalculated each time the instance restarts and the table accessed. This leads to variations in the query execution plan. You can modify the value of this global parameter at the table level. We recommend that you set the `innodb_stats_persistent` parameter value to `ON`. | Set the `innodb_stats_persistent` parameter value to `ON`. | No |  [Parameter groups for Amazon Aurora](USER_WorkingWithParamGroups.md)  | 
| `innodb_open_files` parameter is low | The `innodb_open_files` parameter controls the number of files InnoDB can open at one time. InnoDB opens all of the log and system tablespace files when mysqld is running. Your DB instance has a low value for the maximum number of files InnoDB can open at one time. We recommend that you set the `innodb_open_files` parameter to a minimum value of `65`. | Set the `innodb_open_files` parameter to a minimum value of `65`. | Yes | [InnoDB open files for MySQL](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_open_files)  | 
| `max_user_connections` parameter is low | Your DB instance has a low value for the maximum number of simultaneous connections for each database account. We recommend setting the `max_user_connections` parameter to a number greater than `5`. | Increase the value of the `max_user_connections` parameter to a number greater than `5`. | Yes | [Setting Account Resource Limits for MySQL](https://dev.mysql.com/doc/refman/8.0/en/user-resources.html) | 
| Read Replicas are open in writable mode | Your DB instance has a read replica in writable mode, which allows updates from clients. We recommend that you set the `read_only` parameter to `TrueIfReplica` so that the read replicas isn't in writable mode. | Set the `read_only` parameter value to `TrueIfReplica`. | No |  [Parameter groups for Amazon Aurora](USER_WorkingWithParamGroups.md)  | 
| `innodb_default_row_format` parameter setting is unsafe | Your DB instance encounters a known issue: A table created in a MySQL version lower than 8.0.26 with the `row_format` set to `COMPACT` or `REDUNDANT` will be inaccessible and unrecoverable when the index exceeds 767 bytes. We recommend that you set the `innodb_default_row_format` parameter value to `DYNAMIC`. | Set the `innodb_default_row_format` parameter value to `DYNAMIC`. | No | [ Changes in MySQL 8.0.26](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-26.html#mysqld-8-0-26-bug) | 
| `general_logging` parameter is turned on | The general logging is turned on for your DB instance. This setting is useful while troubleshooting the database issues. However, turning on general logging increases the amount of I/O operations and allocated storage space, which might result in contention and performance degradation. Check your requirements for general logging usage. We recommend that you set the `general_logging` parameter value to `0`. | Check your requirements for general logging usage. If it isn't mandatory, we recommend that you to set the `general_logging` parameter value to `0`. | No |  [Overview of Aurora MySQL database logs](USER_LogAccess.MySQL.LogFileSize.md)  | 
| DB cluster under-provisioned for read workload | We recommend that you add a reader DB instance to your DB cluster with the same instance class and size as the writer DB instance in the cluster. The current configuration has one DB instance with a continuously high database load caused mostly by read operations. Distribute these operations by adding another DB instance to the cluster and directing the read workload to the DB cluster read-only endpoint. | Add a reader DB instance to the cluster. | No | [Adding Aurora Replicas to a DB cluster](aurora-replicas-adding.md) [Managing performance and scaling for Aurora DB clusters](Aurora.Managing.Performance.md) [Amazon RDS pricing](https://aws.amazon.com/rds/pricing/)  | 
| RDS instance under-provisioned for system memory capacity | We recommend that you tune your queries to use lesser memory or use a DB instance type with higher allocated memory. When the instance is running low on memory, then the database performance is impacted.  | Use a DB instance with higher memory capacity | Yes |  [ Scaling Your Amazon RDS Instance Vertically and Horizontally](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/) on the AWS Database Blog [Amazon RDS instance types](https://aws.amazon.com/rds/instance-types/) [Amazon RDS pricing](https://aws.amazon.com/rds/pricing/)  | 
| RDS instance under-provisioned for system CPU capacity | We recommend that you tune your queries to use less CPU or modify your DB instance to use a DB instance class with higher allocated vCPUs. Database performance might decline when a DB instance is running low on CPU. | Use a DB instance with higher CPU capacity | Yes |  [ Scaling Your Amazon RDS Instance Vertically and Horizontally](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/) on the AWS Database Blog [Amazon RDS instance types](https://aws.amazon.com/rds/instance-types/) [Amazon RDS pricing](https://aws.amazon.com/rds/pricing/)  | 
| RDS resources are not utilizing connection pooling correctly | We recommend that you enable Amazon RDS Proxy to efficiently pool and share existing database connections. If you are already using a proxy for your database, configure it correctly to improve connection pooling and load balancing across multiple DB instances. RDS Proxy can help reduce the risk of connection exhaustion and downtime while improving availability and scalability. | Enable RDS Proxy or modify your existing proxy configuration | No |  [ Scaling Your Amazon RDS Instance Vertically and Horizontally](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/) on the AWS Database Blog [Amazon RDS Proxyfor Aurora](rds-proxy.md) [Amazon RDS Proxy Pricing](https://aws.amazon.com/rds/proxy/pricing/)  | 