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

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 ダッシュボードはその DB インスタンスで表示されます。

    パフォーマンスインサイトが有効な DB インスタンスでは、DB インスタンスのリストで [Sessions] 項目を選択してダッシュボードにアクセスすることもできます。[Current activity] の [Sessions] 項目には、直近 5 分間におけるアクティブなセッションの平均データベース負荷が表示されます。負荷はバーでグラフィカルに示されます。バーが空の場合、DB インスタンスはアイドル状態です。負荷が増加すると、バーが青色で塗りつぶされます。負荷が DB インスタンスクラスのおける仮想 CPU (vCPU) の数を超えると、バーが赤色になり、ボトルネックとなる可能性があることが示されます。

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

    DB インスタンスのダッシュボードを以下の図に示します。

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

デフォルトでは、Performance Insights ダッシュボードは過去 60 分間のデータを示します。過去 5 分、60 分、5 時間、24 時間、または 1 週間のデータを表示するように変更できます。また、利用可能なデータもすべて表示されます。パフォーマンスインサイトダッシュボードが自動的に新しいデータで更新されます。更新の頻度は、表示されるデータの量によって異なります。

  • 「5 分」は 5 秒ごとに更新されます。

  • 「1 時間」と「5 時間」はどちらも 1 分ごとに更新されます。

  • 「24 時間」は 5 分ごとに更新されます。

  • 「1 週間」は 1 時間ごとに更新されます。


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

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 グラフに表示されるホストの色に合わせてバーは色分けされています。

もう 1 つ例を挙げると、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. 上位のロード項目テーブルの SQL タブが待機状態に最も影響しているクエリを確認することによって、ロードを引き起こすダイジェストクエリを特定します。これらは DB Load by Wait 列で識別できます。

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

たとえば、次のダッシュボードで、[IO: XactSync] の待機は頻繁に発生する問題です。[CPU] の待機はそれ以下ですが、まだ負荷に影響しています。

上位ロード項目テーブルの SQL タブの最初の 4 つのロールアップクエリは、最初の状態に強く相関します。したがって、これらの項目について、子クエリを詳細に調査するとよいでしょう。調査は、パフォーマンスの問題にどのように影響しているかを判断するために行います。

最後の 3 つのロールアップクエリは、CPU 負荷の主な要因です。これらは CPU 負荷が問題であるかどうかを調べるためのクエリです。


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