Performance Insights FAQs

Why Performance Insights?

RDS offers many database monitoring tools including Amazon CloudWatch, Enhanced Monitoring, RDS Performance Insights, and DevOps Guru for RDS. You can see an overview of your options here.

Page topics

General

General

Performance problems appear in the Performance Insights section of the Amazon RDS Management Console as spikes in the database load graph. One look at this graph can quickly tell you what type of resources your application has been spending time and resources on in the database. The console allows you to zoom in to any period within the retention time. By selecting the periods of high load, you can display a list of SQL statements ordered by overall contribution to load.

Performance Insights samples the state of connected sessions in your DB instance every second. If a session is spending time on a database-related operation, Performance Insights records the current time, the type of operation (I/O, CPU, locking, etc.), the current SQL statement, and several other session attributes. Over time, this sampled data is used to characterize how sessions are contributing to load in your database instance.

No. Performance Insights provides access to performance data via the Amazon RDS API and the Amazon RDS Management Console. It does not populate any tables in the database nor does it present data to be retrieved from within the database via SQL.

Yes. By default, Performance Insights displays a moving one hour window of performance data. The feature is designed to present the latest performance information within a few seconds of real time.

Performance Insights includes a free tier with a trailing seven days of performance data retention. Additional retention from 1-24 months is available at a small fraction of the instance price. API requests include a generous free tier and reasonable per-request pricing above free tier thresholds. See our pricing page for more information.

Performance Insights includes a free tier with a trailing seven days of performance data retention. Long-term retention up to two years is available at a small fraction of the instance price.

Yes. The option for Performance Insights is selected by default in the AWS Console when you use the instance creation wizard. You can de-select the option in the wizard to prevent Performance Insights from being enabled, or you can disable Performance Insights in an enabled instance by modifying the instance.

Yes.

At the core of Performance Insights is a single metric called DB Load. This metric characterizes how an application is spending time in the database. DB Load is measured in units of average active sessions (AAS). An active session is a connection (session) that has submitted work to the database engine and is waiting for a response from it. For example, if you submit a SQL statement to a database instance that session is considered “active” during the time that the instance is processing that query. By counting the number of sessions that are active in an instance at a given moment we can provide a metric, which averaged over time periods can show how busy an instance is and how much time sessions are spending waiting for the instance to respond. This is DB Load. Performance Insights counts active sessions and records each session’s attributes about every second using a lightweight sampling mechanism. The sampled data is encrypted and aggregated to a variety of granularities and served through the API and in the DB Load chart in the Amazon RDS Management Console.

No. However, Performance Insights will work even better on some database engines when additional performance tracking is enabled. For instance, when the pg_stat_statement extension is enabled on Aurora with PostgreSQL compatibility, Performance Insights will take advantage of the additional information provided by that extension to use the PostgreSQL-native SQL identifier to label the statement.

The Performance Insights agent is designed to stay out of your database workloads' way. When Performance Insights detects heavy load or depleted resources, it backs off, still collecting data, but only when it is safe to do so. Database options, such as pg_stat_statement in Aurora PostgreSQL, may use some database resources and potentially affect performance. Whether enabling these options will affect a particular system depends on the application workload. AWS recommends testing any database options against your workload prior to enabling them on a production system.

If you're using Enhanced Monitoring to monitor O/S metrics, you should continue to obtain that data via Enhanced Monitoring.

Yes. Performance Insights encrypts all potentially sensitive data using your own AWS Key Management Service (KMS) key. Data is encrypted in flight and at rest. AWS personnel cannot access or see any potentially sensitive performance data. Only your users on your AWS account with full access to Amazon RDS can view Performance Insights.

Stopping an Amazon RDS instance that has Performance Insights enabled has no effect on retention or visibility of historical data for that instance. The period during which the instance was stopped will contain no data.

Performance Insights exposes a publicly available API designed to enable customers and third parties to take advantage of the valuable data in Performance Insights.

Yes. Performance Insights exposes a publicly available API designed to enable customers and third parties to take advantage of the valuable data in Performance Insights.

Yes, Performance Insights is available in all AWS Regions including AWS GovCloud Region.

Yes, Amazon RDS Performance Insights can be enabled on existing Amazon RDS instances by modifying the instance to enable Performance Insights.

No, Performance Insights does not consume storage space on your Amazon RDS instances.

Performance Insights is designed to present a common approach, look, and feel to tuning across all database engines in Amazon RDS. Because certain attributes, like wait events and SQL identifiers vary by engine type, will naturally vary in Performance Insights when working with different database engines. One of the core tenets of Performance Insights is that existing concepts, identifiers, and attributes in a database engine should remain intact. Performance Insights will generally not re-interpret or rename wait events and other engine-specific attributes, but will present them faithfully as reported by the database engine.

Yes. Because Aurora Replicas instances are independent instances, you can either enable or disable Performance Insights on those instances.

Not at this time. In the future, Performance Insights will be adding functionality to export data. However, data obtained via Performance Insights is available via an API for consumption.

No. Performance Insights only shows data that has been collected directly from an instance. However, data obtained via the Performance Insights is available via an API, and analysis can be done by AWS analytics services, such as Amazon Athena, Amazon Redshift, Amazon Redshift Spectrum, and Amazon Quicksight.