Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

Amazon RDSパフォーマンスインサイトの使用

Amazon RDSパフォーマンスインサイトでは、Amazon RDS DB インスタンスの負荷をモニタリングし、データベースパフォーマンスの分析とトラブルシューティングを行うことができます。Amazon RDS パフォーマンスインサイトは、現在、以下の DB エンジンを使用する場合のみ利用可能です。

  • MySQL と互換性がある Amazon Aurora バージョン 2.04.2 以降の 2.x バージョン (MySQL 5.7 互換)

  • MySQL と互換性がある Amazon Aurora バージョン 1.17.3 以降の 1.x バージョン (MySQL 5.6 互換)

  • PostgreSQL との互換性がある Amazon Aurora

  • Amazon RDS for MariaDB バージョン 10.2.21 以降の 10.2 バージョン

  • Amazon RDS for MySQL バージョン 5.7.22 以降の 5.7 バージョン、およびバージョン 5.6.41 以降の 5.6 バージョン

  • Amazon RDS for Microsoft SQL Server (SQL Server 2008 を除くすべてのバージョン)

  • Amazon RDS for PostgreSQL バージョン 10 および 11

  • Amazon RDS for Oracle (すべてのバージョン)

注記

Amazon RDS パフォーマンスインサイトは、MariaDB バージョン 10.0、10.1、10.3、または MySQL バージョン 5.5、8.0 ではサポートされていません。

Amazon RDS for MariaDB および MySQL の場合、パフォーマンスインサイトは db.t2.micro、db.t2.small、db.t3.micro、および db.t3.small の各 DB インスタンスクラスでサポートされていません。

Aurora MySQL の場合、パフォーマンスインサイトは db.t2 または db.t3 の DB インスタンスクラスでサポートされていません。

パフォーマンスインサイトは、並列クエリが有効になっている Aurora MySQL DB クラスターではサポートされていません。

重要

このガイドでは、Amazon RDS 以外の DB エンジンで Aurora Performance Insights を使用する方法について説明します。Amazon Aurora を使用した Amazon RDS パフォーマンスインサイトについては、『Amazon Aurora ユーザーガイド』の「Amazon RDS Performance Insights の使用」を参照してください。

Performance Insights は、既存の Amazon RDS モニタリング機能を拡張して、データベースのパフォーマンスを明確にし、これに影響を与えるあらゆる問題を分析しやすくします。パフォーマンスインサイトダッシュボードを使用してデータベースロードを視覚化したり、ロードを待機、SQL ステートメント、ホスト、ユーザー別にフィルタリングしたりできます。

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

パフォーマンスインサイトの主要なメトリクスは DB Load で、これは DB エンジンの平均のアクティブセッション数を表します。DB Load メトリクスは毎秒収集されます。アクティブセッションとは、DB エンジンに作業を送信し、レスポンスを待っている接続です。たとえば、DB エンジンに SQL クエリを送信すると、このクエリを DB エンジンで処理中は、データベースセッションがアクティブになります。

DB Load と待機イベントのデータを組み合わせることで、アクティブセッションの状態を詳しく把握できます。待機イベントは、DB エンジンごとに異なります。

  • MariaDB および MySQL のすべての待機イベントの詳細については、MySQL ドキュメントの「イベント待機サマリーテーブル」を参照してください。

  • すべての PostgreSQL 待機イベントについては、PostgreSQL ドキュメントの「PostgreSQL の待機イベント」を参照してください。

  • すべての Oracle 待機イベントについては、Oracle ドキュメントの「Descriptions of Wait Events」を参照してください。

  • SQL Server のすべての待機イベントについては、SQL Server ドキュメントの「待機の種類」を参照してください。

注記

Oracle では、関連付けられた SQL ステートメントがなくてもバックグラウンドプロセスが実行されることがあります。このような場合、パフォーマンスインサイトはバックグラウンドプロセスのタイプとそのバックグラウンドプロセスに関連付けられた待機クラスをコロンで連結してレポートします。バックグラウンドプロセスのタイプには、LGWR、ARC0、PMON などが含まれます。

たとえば、アーカイブ処理で I/O を実行しているとき、パフォーマンスインサイトによるレポートは ARC1:System I/O のようになります。バックグラウンドプロセスタイプが欠落していて、パフォーマンスインサイトが :System I/O のように待機クラスだけをレポートする場合もあります。

セッション情報が収集、集計され、[Average Active Sessions] グラフとしてダッシュボードに表示されます。[Average Active Sessions] グラフは最大 CPU 値をラインで表示するため、アクティブなセッションがそこを超えているかどうかを確認できます。The 最大 CPU 値は、DB インスタンスの vCPU (仮想 CPU) のコア数によって決まります。

[Average Active Sessions] グラフの負荷が最大 CPU ラインを超えていて、プライマリ待機状態が CPU である場合、システム CPU は過負荷になっています。この場合、インスタンスへの接続を抑制したり、CPU 負荷の高い SQL クエリを調整したり、より大きなインスタンスクラスを検討することができます。待機状態の高い一貫したインスタンスは、解決するボトルネックまたはリソースの競合問題がある可能性があることを示します。これは、負荷が最大 CPU ラインを超えていない場合にも該当します。

パフォーマンスインサイトの概要は次の動画で確認できます。