Performance Insight は、Database Autonomy Service (DAS) が提供する機能であり、ApsaraDB RDS for SQL Server のインスタンスレベルで、負荷の発生源およびパフォーマンスボトルネックを可視化します。Performance Insight を使用すると、以下の操作が可能です。
主要なパフォーマンスメトリクスを監視し、任意の期間における負荷傾向を特定できます。
最も高い負荷を発生させている SQL ステートメント、ユーザー、ホスト、またはデータベースを特定できます。
パフォーマンス問題の原因が、インスタンスの仕様不足か、あるいはデータベースアーキテクチャ上の課題かを判断できます。
この機能のコア負荷指標として、平均アクティブセッション(AAS:Average Active Sessions)が採用されています。AAS は、指定された期間において、RDS インスタンス内で実行中のアクティブセッション数の平均値を示します。AAS が上昇すると負荷が増加し、下降すると負荷が緩和されます。
前提条件
RDS インスタンスで、クラウドディスクを使用して SQL Server 2008 R2 を実行してはなりません。
Performance Insight データの表示
インスタンス ページに移動します。上部のナビゲーションバーから、ご利用の RDS インスタンスが配置されているリージョンを選択します。該当インスタンスを見つけ、その ID をクリックします。
左側のナビゲーションウィンドウで、自律サービス > パフォーマンス最適化 を選択します。
Performance Insight タブをクリックし、表示期間を選択します。

Performance Insight ダッシュボード
Performance Insight タブには、相互に連携して動作する 3 つのセクションがあります。まず パフォーマンスメトリクス で全体のリソース状態を評価し、次に 平均アクティブセッション(AAS) のチャートで負荷の発生源を特定し、最後に負荷発生源テーブルを掘り下げて、具体的な SQL ステートメントやユーザーを特定します。
パフォーマンスメトリクス
このセクションでは、選択した期間における主要なメトリクスのトレンドチャートを表示し、リソース利用率および負荷状態のスナップショットを提供します。表示期間を変更またはカスタマイズすることで、特定の期間に焦点を当てることができます。

平均アクティブセッション(AAS)
このセクションでは、AAS のトレンドチャートを表示します。パフォーマンスメトリクスから負荷の急増を検出した後、AAS チャートを用いてその負荷の発生源をトレースします。

AAS チャートはリアルタイムで更新され、セッションの活動状況ごとに負荷を分解します。上記の例では、チャートから以下の 3 つの明確な負荷段階が明らかになります。
すべての負荷が ユーザー待機中 のセッションから発生しています。
ユーザー待機中 のセッションが減少し、代わりに データ送信中 のセッションが負荷を担うようになります。
データ送信中 のセッションが減少し、代わりに 行の更新検索中 のセッションが主要な負荷源となります。
このような推移により、複数の個別メトリクスを相関付けることなく、時間軸に沿った負荷の移行を AAS チャートで追跡できることがわかります。
複数ディメンションからのソースのロード
このセクションでは、負荷発生源の詳細を示すテーブルを表示します。このテーブルを活用して、最も高い AAS 値を占める SQL ステートメント、ユーザー、またはインフラ要素を特定します。

ディメンション別の負荷データの切り分け
平均アクティブセッション(AAS) セクションの右上隅にある AAS タイプ のドロップダウンリストから、AAS タイプを選択することで、負荷データを特定のディメンションで切り分けることができます。各ディメンションは、同一の基盤となる負荷データについて、異なる診断的質問に答える「レンズ」と考えられます。
| AAS タイプ | 表示内容 | 使用タイミング |
|---|---|---|
| SQL | 上位 10 件の SQL ステートメントの AAS トレンド | 最も高い負荷を発生させているクエリを特定する場合 |
| 待機イベント | アクティブセッションの待機カテゴリ別の AAS トレンド | セッションがブロックされている場所や、リソースの確保待ちとなっている箇所を特定する場合 |
| ユーザー | ログイン済みユーザー別の AAS トレンド | 最も多くのアクティビティを生成しているユーザーを特定する場合 |
| ホスト | クライアントのホスト名または IP アドレス別の AAS トレンド | 負荷の発生元を特定のクライアントマシンまたはアプリケーションまでトレースする場合 |
| コマンド | 異なる SQL ステートメントタイプ別の AAS トレンド | SELECT、INSERT、UPDATE などのコマンドタイプのうち、どのタイプが負荷を支配しているかを確認する場合 |
| データベース | ワークロードが実行されるデータベース別の AAS トレンド | 最も高い負荷を抱えるデータベースを特定する場合 |
| ステータス | アクティブセッションの状態別の AAS トレンド | セッションが実行中、待機中など、どのように時間を費やしているかを把握する場合 |
セッションが予期せず停止している場合は、まず 待機イベント を確認してください。待機イベントは、作業が妨げられている箇所を明らかにします。特定のクエリが負荷の急増を引き起こしていると疑われる場合は、SQL を使用してください。また、ノイズの多いクライアントや暴走したアプリケーションを特定するには、ユーザー と ホスト を組み合わせて分析します。