メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

プレビュー - Amazon Performance Insights を使用する

Amazon RDS Performance Insights は Amazon RDS DB インスタンスロードをモニタリングするサービスです。これによりデータベースパフォーマンスの分析およびトラブルシューティングができます。Amazon RDS Performance Insights は、現在 Aurora (PostgreSQL) の使用する場合のみ利用可能です。

Performance Insights は、既存の Amazon RDS モニタリング機能を拡張し、データベースのパフォーマンスを示し、影響を与えるあらゆる問題を分析します。Performance Insights ダッシュボードを使用してデータベースロードを視覚化したり、ロードを待機、SQL ステートメント、ホスト、ユーザー別にフィルタリングしたりできます。Performance Insights は Aurora PostgreSQL データベースエンジンのデフォルトとして設定されています。DB インスタンスで複数のデータベースがある場合、データベースのすべてのパフォーマンスデータは DB インスタンスで集計されます。データベースのパフォーマンスデータは 24 時間保持されます。

Performance Insights の中央メトリクスは DB Load で、データベースエンジンのアクティブなセッションの平均数を表します。アクティブなセッションとは、データベースエンジンに作業を送信した接続で、レスポンスを待機しています。たとえば、データベースエンジンへ SQL クエリを送信する場合、データベースエンジンがそのクエリを処理している間、データベースセッションはアクティブです。セッション情報は毎秒軽量メカニズムによりサンプリングされます。このサンプルデータはダッシュボードで、[Average Active Sessions] グラフとして集計され、表示されます。[Average Active Sessions] グラフは最大 CPU 値をラインで表示しますので、アクティブなセッションがそこを超えているかどうかを確認できます。The 最大 CPU 値は、DB インスタンスの vCPU (仮想 CPU) のコア数によって決まります。[Average Active Sessions] グラフのロードが最大 CPU ラインを超えることが良くあり、プライマリ待機状態が CPU の場合、システム CPU が過負荷になっているので、インスタンスへの接続を調整し、高い CPU ロードで SQL クエリを調整するか、より大きなインスタンスのクラスを考慮します。待機状態の高く一貫性があるインスタンスは、ロードが最大 CPU のラインを超えていなくても、解決すべきボトルネックまたはリソースの競合問題がある可能性があることを示します。

次の動画では Performance Insights の概要を提供します。

Performance Insights にダッシュボードを使用する

Performance Insights ダッシュボードには、パフォーマンスの問題を分析し、解決するのに役立つ、データベースのパフォーマンス情報が含まれます。メインダッシュボードページで、データベースロードについての情報を表示し、特定の待機状態、SQL クエリ、ホスト、ユーザーを詳細に調べることができます。

Performance Insights ダッシュボードを開く

AWS マネジメントコンソールで Performance Insights のダッシュボードを表示するには、以下の手順を実行します。

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

  2. ナビゲーションペインで、[Performance Insights] を選択します。

  3. DB インスタンスを選択します。Performance Insights ダッシュボードはそのインスタンスで表示されます。

    また、ダッシュボードはインスタンスの一覧で [現在のアクティビティ] ウィジェットをクリックすることで使用可能になります。

     メトリクスのフィルタリング
     メトリクスのフィルタリング

デフォルトでは、Performance Insights ダッシュボードは過去 60 分間のデータを示します。過去 5 分、60 分、6 時間、または 24 時間のデータを表示するように変更できます。

 メトリクスのフィルタリング

Performance Insights ダッシュボードコンポーネント

ダッシュボードは 2 つのパートに分割されます。

  1. Average Active Sessions グラフ - 最大 CPU ラインで示されているように、データベースロードと DB インスタンスの容量を比較する方法を示します。

  2. 上位のロード項目テーブル - データベースロードに貢献している上位項目を表示します。

Average Active Sessions グラフ

Average Active Sessions グラフは、最大 CPU ラインで示されているように、データベースロードと DB インスタンスの容量を比較する方法を示します。デフォルトでは、ロードは待機状態ごとにグループ化されたアクティブなセッションとして表示されます。しかし、ロードを SQL クエリ、ホスト、またはユーザーごとにグループ化されたアクティブなセッションとして表示するように選択できます。

 メトリクスのフィルタリング

[Average Active Sessions] グラフ上の項目の上にマウスを移動して、凡例の指定期間に対するその項目の詳細を表示することができます。

 メトリクスのフィルタリング

上位のロード項目テーブル

データベースロードに貢献している上位項目を表示します。デフォルトでは、データベースロードに貢献している上位の SQL クエリを表示します。クエリが、構造的に似ていても、異なるパラメータを持つ可能性のある、複数の実際のクエリのダイジェストとして表示されていることに注意してください。代わりに、上位の待機状態、ホスト、またはユーザーを表示するように選択できます。

 メトリクスのフィルタリング

上位の各ロード項目に関連付けられるデータベースロードの割合は [DB Load by Waits] 列で示されます。[Average Active Sessions] グラフで現在選択されているグループ化によって、その項目に対するロードが反映されます。たとえば、[Average Active Sessions] グラフがホストごとにグループ化されていて、上位ロード項目テーブル内の SQL クエリが表示されている場合、[DB Load by Waits] バーは、クエリが関連するホスト上で示すロードを反映し、[Average Active Sessions] グラフでそのホストの表示を示すマップで色分けされます。

[Average Active Sessions] グラフが待機状態ごとにグループ化されていて、上位のロード項目テーブルで SQL クエリが表示されている場合、[DB Load by Waits] バーはサイズを計算、セグメント化、色分けして、指定された待機状態にクエリがどれだけ貢献しているか、どの待機状態がクエリに影響しているかを表示します。

 メトリクスのフィルタリング

Performance Insights ダッシュボードを使用してデータベースロードを分析する

[Average Active Sessions] グラフはボトルネックを表示している場合、[Average Active Sessions] グラフの下にある上位のロード項目テーブルを調べることによってロードがどこからきているかを確認できます。SQL クエリやユーザのような特定の項目を選択すると、その項目をドリルダウンして詳細を表示できます。

待機と上位の SQL クエリでグループ分けされた DB ロードは、通常パフォーマンスの問題を最もよく理解できる組み合わせであるため、デフォルトの Performance Insights ダッシュボードビューです。待機でグループ化された DB ロードは、データベースにリソースまたは同時のボトルネックがあるかどうかを示し、上位のロード項目テーブルの SQL タブは、そのロードを実行しているクエリを示します。

パフォーマンスの問題を診断するための一般的なワークフローは次のとおりです。

  1. [Average Active Sessions] グラフを確認し、最大 CPU ラインを超えているデータベースロードのインシデントがあるかどうかを確認します。

  2. ある場合は、[Average Active Sessions] グラフを確認して、どの待機状態が主に原因であるかを特定します。

  3. [DB Load by Wait] 列で識別される、上位のロード項目テーブルの [SQL] タブが待機状態に最も貢献しているクエリを確認することによって、ロードを引き起こすダイジェストクエリを特定します。

  4. [SQL] タブでこれらのダイジェストクエリの 1 つをクリックして展開し、構成されている子クエリを確認します。

たとえば、次のダッシュボードで、[IO: XactSync] の待機は頻繁事項です。[CPU] の待機はそれ以下ですが、ロードするには引き続き重要な要素です。上位のロード項目テーブルの [SQL] タブに表示される最初の 4 つのロールアップクエリは、最初の待機状態と強く関連しているため、それらの子クエリを詳細に調べて、それらがどのようにパフォーマンスの問題に影響しているか判断します。最後の 3 つのロールアップクエリは CPU において最大の要素であり、CPU の負荷に問題が生じたときに調査するクエリとなります。

 メトリクスのフィルタリング

関連トピック