ビジネスワークロードが増加するにつれて、SQLリクエストの数が増加します。 その結果、データベースモニタリング指標が増加します。 一部の SQL リクエストは似た特性を持っています。 したがって、完全なSQLリクエスト分析機能を使用すると、異常なSQLリクエストの特定が困難になります。 この場合、Database Autonomy Service (DAS) は、機械学習を使用してSQLリクエストを集計およびフィルタリングできる異常なSQLリクエスト識別機能を提供します。 これにより、異常なSQLリクエストを迅速かつ効率的かつ正確に識別できます。
前提条件
管理するデータベースインスタンスは、次のいずれかのタイプです。
ApsaraDB RDS for MySQL 5.6、5.7、または8.0
ApsaraDB MyBase for MySQL 5.6、5.7、または8.0
データベースインスタンスがDASに接続されています。 詳細については、「Autonomy center」をご参照ください。
データベースインスタンスに対してDAS Enterprise Editionが有効になっています。 詳細については、「DAS Cost-efficient EditionおよびDAS Enterprise Editionの有効化と管理」トピックのDAS Cost-efficient EditionおよびDAS Enterprise Editionの有効化セクションを参照してください。
シナリオ
シナリオ: 多数のSQLテンプレートがビジネスリクエストに使用されます。 SQLテンプレートの並べ替え方法に関係なく、異常なSQLリクエストが開始されてから短時間で特定することはできません。 次の図では、赤と青で囲まれた1秒あたりのクエリ (QPS) グラフは、2種類の異常SQLリクエストを示しています。
解決策: 異常なSQLリクエストの識別機能を使用して、パフォーマンスの問題を識別します。 次のいずれかの解決策を実行します。
解決策1: データベースインスタンスが多数のリクエストを受信した場合、DASを使用してSQLの動作に基づいてSQLテンプレートを分類できます。 たとえば、数百ページのSQLテンプレートが使用されている場合、すべてのテンプレートを並べ替えて異常なSQLテンプレートをすばやく特定することはできません。 この場合、異常なSQLリクエストの識別機能を使用できます。 この機能は、DASのバックエンドアルゴリズムを使用して、類似のSQL動作プロファイルを識別します。 次に、この機能は多数のSQLテンプレートを集約して分類し、問題をより効率的に特定できるようにします。
解決策2: 異常なSQLリクエストの識別機能を使用して、例外が発生した期間に基づいてメトリック例外に関連する問題をトラブルシューティングします。 次の図は、異常メトリックの傾向を示しています。 この図において、CPU使用率およびアクティブセッション数がピーク値に達する時間は、現在のカテゴリのSQLテンプレートの出現が急激に減少する時間と一致する。 これは、アクティブなセッションの数が急増すると、このカテゴリのSQLテンプレートを使用するSQL要求がブロックされることを示しています。
手順
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
インスタンスの詳細ページで、左側のナビゲーションウィンドウに表示されている自律型センターをクリックします。
時間範囲を指定し、[検索] をクリックして、指定した時間範囲のイベントを表示します。
イベントの [詳細] をクリックして、イベントの詳細を表示します。 この例では、時系列例外検出が使用される。
Anomaly Snapshots タブの 異常なメトリクスの分析 セクションで、例外の原因と関連するメトリックの変更を表示します。
パフォーマンスメトリクス セクションで、さまざまな種類の異常メトリックを選択して、指定された時間範囲内の選択したメトリックの分布を表示します。
SQL リクエストの動作分析 セクションで、分析を実行するモニタリングメトリックと関連付けられたメトリックを選択します。
DASは、上位1,000のSQLテンプレートを分析します。 これらのテンプレートに基づいて生成されたSQL要求は、最も時間がかかりました。 DAS Enterprise Editionの完全なSQLリクエスト分析機能は、データベースインスタンスの完全なSQLデータを取得して分析します。 このプロセスは時間がかかります。 期間はデータサイズによって異なります。 ほとんどの場合、システムはデータを分析するのに約1〜5分かかります。
分析結果を表示します。
異常メトリックと最も相関するSQLメトリックを表示します。 対応するSQLテンプレートと統計を表示することもできます。
説明値が1.00に近いほど、異常メトリックとの相関が高いことを示す。
追加情報
異常なSQLリクエストの識別機能を使用すると、類似のSQLテンプレートの発生傾向が類似していることを確認できます。
カテゴリのSQLテンプレートを使用するSQL要求が短期間スパイクしても、スパイク時間がメトリックスパイク時間と異なる場合、このカテゴリのSQLテンプレートは異常なメトリックと最も相関がありません。
次の図は、異常なメトリックの傾向を示しています。 CPU使用率とアクティブセッション数がピーク値に達した時点は、カテゴリのSQLテンプレートを使用するSQLリクエストが急激に減少した時点と一致します。 これは、アクティブなセッションの数が急増すると、このカテゴリのSQLテンプレートを使用するSQL要求がブロックされることを示しています。