

# Amazon RDS での Performance Insights の概要
<a name="USER_PerfInsights.Overview"></a>

**重要**  
 AWS は、Performance Insights のサポート終了日を 2026 年 6 月 30 日と発表しました。この日以降、Amazon RDS は Performance Insights コンソールのエクスペリエンス、柔軟な保持期間 (1～24 か月)、および関連する料金のサポートを終了します。Performance Insights API は存続し、料金の変更はありません。Performance Insights API の料金は、CloudWatch Database Insights の料金とともに AWS 請求書に表示されます。  
 Performance Insights の有料利用枠を使用する DB インスタンスは、2026 年 6 月 30 日より前に Database Insights のアドバンストモードにアップグレードすることをお勧めします。Database Insights のアドバンストモードへのアップグレード方法については、「[Amazon RDS で Database Insights のアドバンストモードを有効にする](USER_DatabaseInsights.TurningOnAdvanced.md)」を参照してください。  
 アクションを実行しない場合、Performance Insights を使用する DB インスタンスは、デフォルトで Database Insights のスタンダードモードを使用します。Database Insights のスタンダードモードでは、7 日間を超えたパフォーマンスデータ履歴、実行プラン機能とオンデマンド分析機能が Amazon RDS コンソールで利用できなくなる可能性があります。2026 年 6 月 30 日以降、Database Insights のアドバンストモードのみが実行プランとオンデマンド分析をサポートします。  
 CloudWatch Database Insights を使用すると、データベースのフリートのデータベース負荷をモニタリングし、パフォーマンスの大規模な分析とトラブルシューティングを行うことができます。Database Insights の詳細については、「[CloudWatch Database Insights による Amazon RDS データベースのモニタリング](USER_DatabaseInsights.md)」を参照してください。詳細については、[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)をご覧ください。

デフォルトで RDS は、すべての Amazon RDS エンジンのコンソール作成ウィザードで Performance Insights を有効にします。DB インスタンスに複数のデータベースがある場合、Performance Insights はパフォーマンスデータを集計します。

Amazon RDS の Performance Insights の概要は次の動画で確認できます。

[![AWS Videos](http://img.youtube.com/vi/yOeWcPBT458/0.jpg)](http://www.youtube.com/watch?v=yOeWcPBT458)


**重要**  
以下のトピックでは、Aurora 以外の DB エンジンで Amazon RDS Performance Insights を使用する方法について説明します。Amazon Aurora での Amazon RDS Performance Insights の使用については、「*Amazon Aurora ユーザーガイド*」の「[Using Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html)」(Amazon RDS Performance Insights の使用) を参照してください。

**Topics**
+ [データベース負荷](USER_PerfInsights.Overview.ActiveSessions.md)
+ [最大 CPU 容量](USER_PerfInsights.Overview.MaxCPU.md)
+ [Amazon RDS DB エンジンとインスタンスクラスでサポートされている Performance Insights](USER_PerfInsights.Overview.Engines.md)
+ [Performance Insights の料金とデータ保持](USER_PerfInsights.Overview.cost.md)

# データベース負荷
<a name="USER_PerfInsights.Overview.ActiveSessions"></a>

*データベース負荷 (DB 負荷)* は、データベース内のセッションアクティビティのレベルを測定します。`DBLoad` は Performance Insights の主要なメトリクスで、Performance Insights は 1 秒ごとに DB 負荷を収集します。

**Topics**
+ [アクティブなセッション](#USER_PerfInsights.Overview.ActiveSessions.active-sessions)
+ [平均アクティブセッション](#USER_PerfInsights.Overview.ActiveSessions.AAS)
+ [平均アクティブ実行](#USER_PerfInsights.Overview.ActiveSessions.AAE)
+ [ディメンション](#USER_PerfInsights.Overview.ActiveSessions.dimensions)

## アクティブなセッション
<a name="USER_PerfInsights.Overview.ActiveSessions.active-sessions"></a>

*データベースセッション*は、リレーショナルデータベースとのアプリケーションのダイアログを表します。アクティブなセッションとは、DB エンジンに作業を送信し、レスポンスを待っている接続です。

セッションは、CPU での動作中、またはリソースが使用可能になるのを待っているときにアクティブになります。例えば、アクティブなセッションでは、ページ (またはブロック) がメモリに読み込まれるのを待機し、ページからデータを読み取る間に CPU を消費することがあります。

## 平均アクティブセッション
<a name="USER_PerfInsights.Overview.ActiveSessions.AAS"></a>

*平均アクティブセッション (AAS)*は`DBLoad`Performance Insights のメトリクスの単位です。データベース上で同時にアクティブなセッション数を測定します。

毎秒、Performance Insights は、クエリを同時に実行するセッションの数をサンプリングします。Performance Insights は、アクティブなセッションごとに以下のデータを収集します。
+ SQL ステートメント
+ セッション状態 (CPU で実行中または待機中)
+ ホスト
+ SQL を実行しているユーザー

Performance Insights は、特定期間の総セッション数を総サンプル数で割って AAS を計算します。たとえば、次の表は、1 秒間隔で実行中のクエリの連続する 5 つのサンプルを示しています。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

前述の例では、時間間隔の DB ロードは 2 AAS でした。この測定は、5 つのサンプルを採取した期間に、平均して 2 つのセッションがある時点でアクティブであったことを意味します。

## 平均アクティブ実行
<a name="USER_PerfInsights.Overview.ActiveSessions.AAE"></a>

1 秒あたりの平均アクティブ実行 (AAE) は AAS に関連しています。AAE を計算するために、Performance Insightsでは、クエリの合計実行時間を時間間隔で割ります。次の表に、前述の表の同じクエリに対する AAE 計算を示します。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html)

ほとんどの場合、クエリの AAS と AAE はほぼ同じです。ただし、計算への入力は異なるデータソースであるため、計算はわずかに異なります。

## ディメンション
<a name="USER_PerfInsights.Overview.ActiveSessions.dimensions"></a>

この `db.load` メトリクスは、ディメンションと呼ばれるサブコンポーネントに分割できるため、他の時系列メトリクスとは異なります。ディメンションは、`DBLoad` メトリクスのさまざまな特性のカテゴリにより「スライス化されている」と考えることができます。

パフォーマンスの問題を診断する場合、多くの場合、以下のディメンションが最も役立ちます。

**Topics**
+ [待機イベント](#USER_PerfInsights.Overview.ActiveSessions.waits)
+ [上位の SQL](#USER_PerfInsights.Overview.ActiveSessions.top-sql)
+ [プラン](#USER_PerfInsights.Overview.ActiveSessions.plans)

のディメンションの詳細なリストについては、Amazon RDSエンジン、「[ディメンションでスライスされた DB の負荷](USER_PerfInsights.UsingDashboard.Components.md#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.dims)」を参照してください。

### 待機イベント
<a name="USER_PerfInsights.Overview.ActiveSessions.waits"></a>

*待機イベント*を指定すると、SQL ステートメントは、特定のイベントが発生するまで待機してから、実行を継続できます。待機イベントは、作業が妨げられる場所を示すため、DB ロードの重要なディメンションまたはカテゴリになります。

すべてのアクティブなセッションはCPU 上で実行されているか、待っています。例えば、セッションがメモリでバッファを検索したり、計算を実行したり、プロシージャコードを実行したりするときに CPU を消費します。セッションが CPU を消費していないときは、メモリバッファが空くのを待っているか、データファイルの読み取りやログの書き込みを待っている可能性があります。セッションのリソース待機時間が長くなると、CPU 上で動作する時間は短くなります。

データベースのチューニングのとき、セッションが待っているリソースを見つけようとすることがよくあります。例えば、2 つまたは 3 つの待機イベントが DBロードの 90% を占めることがあります。これは、平均して、アクティブなセッションが少数のリソースを待機するためにほとんどの時間を費やしていることを意味します。これらの待機の原因がわかれば、解決策を試すことができます。

待機イベントは、DB エンジンごとに異なります。
+ MariaDB および MySQL のすべての待機イベントの詳細については、MySQL ドキュメントの「[イベント待機サマリーテーブル](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-summary-tables.html)」を参照してください。
+ すべての PostgreSQL 待機イベントの詳細については、PostgreSQL ドキュメントの「[統計コレクター > 待機イベントテーブル](https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE)」を参照してください。
+ すべての Oracle 待機イベントについては、Oracle ドキュメントの「[待機リストの説明](https://docs.oracle.com/database/121/REFRN/GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2.htm#REFRN-GUID-2FDDFAA4-24D0-4B80-A157-A907AF5C68E2)」を参照してください。
+ SQL Server のすべての待機イベントについては、SQL Server ドキュメントの「[待機の種類](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-wait-stats-transact-sql?view=sql-server-2017#WaitTypes)」を参照してください。

**注記**  
Oracle では、関連付けられた SQL ステートメントがなくてもバックグラウンドプロセスが実行されることがあります。このような場合、Performance Insights はバックグラウンドプロセスのタイプとそのバックグラウンドプロセスに関連付けられた待機クラスをコロンで連結してレポートします。バックグラウンドプロセスのタイプには、`LGWR`、`ARC0`、`PMON`などが含まれます。  
例えば、アーカイブ処理で I/O を実行しているとき、Performance Insights によるレポートは `ARC1:System I/O` のようになります。バックグラウンドプロセスタイプが欠落していて、Performance Insights が `:System I/O` のように待機クラスだけをレポートする場合もあります。

### 上位の SQL
<a name="USER_PerfInsights.Overview.ActiveSessions.top-sql"></a>

待機イベントはボトルネックを示しますが、上位の SQL は、どのクエリが DB ロードの最も大きな原因になっているかを示します。例えば、多くのクエリが現在データベースで実行されている可能性がありますが、1 つのクエリが DB ロードの 99% を占めている可能性もあります。この場合、負荷が高いと、クエリに問題がある可能性があります。

デフォルトでは、Performance Insights コンソールには、データベース負荷の原因となっている上位の SQL クエリが表示されます。コンソールには、各ステートメントに関連する統計情報も表示されます。特定のステートメントのパフォーマンスの問題を診断するには、その実行プランを調べます。

### プラン
<a name="USER_PerfInsights.Overview.ActiveSessions.plans"></a>

*実行プラン* (あるいはシンプルに*プラン*とも呼ばれるもの) は、データにアクセスする際の一連のステップのことです。例えば、テーブル `t1` と `t2` を統合するプランでは、`t1` 内のすべての行をループしながら、その各行を `t2` 内の行と比較します。リレーショナルデータベースでの*オプティマイザ*とは組み込みのコードのことで、これは SQL クエリのための最も効率的なプランを決定します。

DB インスタンスの場合、Performance Insights が実行プランを自動的に収集します。SQL のパフォーマンスに関する問題を診断するには、リソースの使用量が高い SQL クエリに関して取得したプランを検証します。プランから、データベースがどのようにクエリを解析して実行したかがわかります。

プランを使用して DB 負荷を分析する方法については、以下を参照してください。
+ Oracle: [Amazon RDS の Performance Insights ダッシュボードを使用した Oracle 実行プランの分析](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ SQL Server: [Amazon RDS の Performance Insights ダッシュボードを使用した SQL Server 実行プランの分析](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

#### プランキャプチャ
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.capture"></a>

Performance Insights は、5 分ごとに、リソースを最も多く消費しているクエリを特定し、対応するプランをキャプチャします。したがって、膨大な数のプランを手動で収集して管理する必要はありません。ユーザーは、**[Top SQL]** (上位の SQL) タブを通じて、最も問題のあるクエリのプランに対処することができます。

**注記**  
Performance Insights では、含まれるテキストが収集可能な最大数を超えるクエリのプランはキャプチャされません。詳しくは、「[Performance Insights ダッシュボードでより多くの SQL テキストにアクセスする](USER_PerfInsights.UsingDashboard.SQLTextSize.md)」を参照してください。

実行プランの保持期間は、Performance Insights のデータの保持期間と同じです。無料利用枠の保持設定は「**デフォルト (7 日)**」です。パフォーマンスデータをさらに長期間保持するには、1～24 か月を指定します。保持期間の詳細については、「[Performance Insights の料金とデータ保持](USER_PerfInsights.Overview.cost.md)」を参照してください。

#### ダイジェストクエリ
<a name="USER_PerfInsights.Overview.ActiveSessions.plans.digest"></a>

**[Top SQL]** (上位の SQL) タブには、デフォルトでダイジェストクエリが表示されます。ダイジェストクエリ自体にはプランはありませんが、リテラル値を使用するすべてのクエリにはプランがあります。例えば、ダイジェストクエリにテキスト`WHERE `email`=?`が含まれる場合があります。このダイジェストの中には、テキスト `WHERE email=user1@example.com` を含むクエリと、`WHERE email=user2@example.com` を含むクエリの 2 つがあります。これらのリテラルクエリには、それぞれ複数のプランが含まれる可能性があります。

ダイジェストクエリを選択すると、選択したダイジェストの子ステートメントのすべてのプランがコンソールに表示されます。したがって、プランを見つけるために、子ステートメント全体を確認する必要はありません。表示されているプランの中に、上位 10 の子ステートメントのリストにないものが含まれる場合があります。コンソールには、クエリが上位 10 であるかどうかにかかわらず、プランが収集されたすべての子クエリのプランが表示されます。

# 最大 CPU 容量
<a name="USER_PerfInsights.Overview.MaxCPU"></a>

ダッシュボードの [**データベースロード**] グラフで、セッション情報が収集、集計、表示されます。アクティブなセッションが最大 CPU 容量を超えているかどうかを確認するには、**最大 vCPU** ラインとの関係を調べます。Performance Insights は、**最大 vCPU** 値を DB インスタンスの vCPU (仮想 CPU) のコア数によって決定します。

vCPU では一度に 1 つのプロセスを実行できます。プロセスの数が vCPU の数を超えると、プロセスはキューイングを開始します。キューイングが増加すると、データベースのパフォーマンスが低下します。DB 負荷が [**Max vCPU (最大 vCPU)**] ラインをしばしば超過し、プライマリ待機状態が CPU である場合、CPU が過負荷になっています。この場合、インスタンスへの接続を抑制したり、CPU ロードの高い SQL クエリを調整したり、より大きなインスタンスクラスを検討する必要があります。待機状態の高い一貫したインスタンスは、解決するボトルネックまたはリソースの競合問題がある可能性があることを示します。これは、DB ロードが**最大 vCPU** ラインを超えていない場合にも該当します。

# Amazon RDS DB エンジンとインスタンスクラスでサポートされている Performance Insights
<a name="USER_PerfInsights.Overview.Engines"></a>

**重要**  
 AWS は、Performance Insights のサポート終了日を 2026 年 6 月 30 日と発表しました。この日以降、Amazon RDS は Performance Insights コンソールのエクスペリエンス、柔軟な保持期間 (1～24 か月)、および関連する料金のサポートを終了します。Performance Insights API は存続し、料金の変更はありません。Performance Insights API の料金は、CloudWatch Database Insights の料金とともに AWS 請求書に表示されます。  
 Performance Insights の有料利用枠を使用する DB インスタンスは、2026 年 6 月 30 日より前に Database Insights のアドバンストモードにアップグレードすることをお勧めします。Database Insights のアドバンストモードへのアップグレード方法については、「[Amazon RDS で Database Insights のアドバンストモードを有効にする](USER_DatabaseInsights.TurningOnAdvanced.md)」を参照してください。  
 アクションを実行しない場合、Performance Insights を使用する DB インスタンスは、デフォルトで Database Insights のスタンダードモードを使用します。Database Insights のスタンダードモードでは、7 日間を超えたパフォーマンスデータ履歴、実行プラン機能とオンデマンド分析機能が Amazon RDS コンソールで利用できなくなる可能性があります。2026 年 6 月 30 日以降、Database Insights のアドバンストモードのみが実行プランとオンデマンド分析をサポートします。  
 CloudWatch Database Insights を使用すると、データベースのフリートのデータベース負荷をモニタリングし、パフォーマンスの大規模な分析とトラブルシューティングを行うことができます。Database Insights の詳細については、「[CloudWatch Database Insights による Amazon RDS データベースのモニタリング](USER_DatabaseInsights.md)」を参照してください。詳細については、[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)をご覧ください。

次の表に、Performance Insights をサポートしている Amazon RDS DB エンジンを示します。

**注記**  
Amazon Aurora については、*Amazon Aurora ユーザーガイド*の [Performance Insights でサポートされている DB エンジン](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.Engines.html)を参照してください。


|  Amazon RDS DB エンジン  | サポート対象のエンジンバージョンとリージョン | インスタンスクラスに関する制限 | 
| --- | --- | --- | 
|  Amazon RDS for MariaDB  |  RDS for MariaDB に関する Performance Insights のバージョンとリージョンの可用性の詳細については、「[Amazon RDS の Performance Insights でサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)」を参照してください。  |  Performance Insights は、 次のインスタンスクラスではサポートされていません。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  | 
|  RDS for MySQL  |  RDS for MySQL に関する Performance Insights のバージョンとリージョンの可用性の詳細については、「[Amazon RDS の Performance Insights でサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)」を参照してください。  |  Performance Insights は、 次のインスタンスクラスではサポートされていません。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  | 
|  Amazon RDS for Microsoft SQL Server  |  RDS for SQL Server に関する Performance Insights のバージョンとリージョンの可用性の詳細については、「[Amazon RDS の Performance Insights でサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)」を参照してください。  |  該当なし  | 
|  Amazon RDS for PostgreSQL  |  RDS for PostgreSQL に関する Performance Insights のバージョンとリージョンの可用性の詳細については、「[Amazon RDS の Performance Insights でサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)」を参照してください。  |  該当なし  | 
|  Amazon RDS for Oracle  |  RDS for Oracle に関する Performance Insights のバージョンとリージョンの可用性の詳細については、「[Amazon RDS の Performance Insights でサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.PerformanceInsights.md)」を参照してください。  |  該当なし  | 

## Amazon RDS DB エンジン、リージョン、およびインスタンスクラスでサポートされている Performance Insights 機能
<a name="USER_PerfInsights.Overview.PIfeatureEngnRegSupport"></a>

次の表に、Performance Insights 機能をサポートしている Amazon RDS DB エンジンを示します。


| 機能 | [料金階層](https://aws.amazon.com/rds/performance-insights/pricing/) |  [サポートされるリージョン](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html#Concepts.RegionsAndAvailabilityZones.Regions)  |  [サポートされる DB エンジン](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Concepts.DBInstance)  |  [サポートされるインスタンスクラス](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.Types)  | 
| --- | --- | --- | --- | --- | 
| [Performance Insights の SQL 統計](sql-statistics.md) | すべて | すべて |  すべて  | すべて | 
| [Amazon RDS の Performance Insights ダッシュボードを使用した Oracle 実行プランの分析](USER_PerfInsights.UsingDashboard.AccessPlans.md) | すべて | すべて |  RDS for Oracle  | すべて | 
| [一定期間のデータベースパフォーマンスの分析](USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.md) | 有料階層のみ |  すべて  |  RDS for PostgreSQL  |  すべて  | 
|  [Performance Insights のプロアクティブ推奨事項の表示](USER_PerfInsights.InsightsRecommendationViewDetails.md) | 有料階層のみ | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html)  |  すべて  | すべて  | 

# Performance Insights の料金とデータ保持
<a name="USER_PerfInsights.Overview.cost"></a>

デフォルトでは、Performance Insights には、7 日間のパフォーマンスデータ履歴と 1 か月あたり 100 万件の API リクエストを含む無料利用枠が用意されています。また、より長い保持期間を購入することもできます。料金情報の詳細については、「[Performance Insights の料金](https://aws.amazon.com/rds/performance-insights/pricing/)」を参照してください。

RDS コンソールでは、Performance Insights データの保持期間を次の中から選択できます。
+ **デフォルト (7 日)**
+ ***n* か月** (***n*** は 1 ～ 24 の数値)

![\[Performance Insights データの保持期間を選択してください。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/pi-retention-periods.png)


AWS CLI を使用して保持期間を設定する方法については、「」を参照してください。