すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:スロークエリログ分析機能の使用

最終更新日:Jan 18, 2024

低速SQLクエリは、ApsaraDB RDS for MySQLインスタンスの安定性に大きく影響します。 RDSインスタンスで高負荷やパフォーマンスのジッターなどの問題が発生した場合、管理者または開発者はまず、低速SQLクエリが実行されているかどうかを確認します。 Database Autonomy Service (DAS) では、低速のクエリログ分析機能を使用できます。 この機能は、RDSインスタンスで実行される低速SQLクエリの統計を収集して分析し、パフォーマンスの問題を特定し、問題の解決策を提供します。 これにより、システムの安定性と信頼性が向上します。

前提条件

RDSインスタンスはMySQLを実行します。

説明

RDSインスタンスはRDS Basic Editionを実行していません。

使用上の注意

SQL文のサイズが8,192バイトを超える場合, SQL文を記録できません。

手順

  1. [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
  2. 左側のナビゲーションウィンドウで、自律型サービス (CloudDBA) > 低速 SQL を選択します。

  3. 低速クエリログ分析 タブで、時間範囲を指定し、指定した時間範囲内のスロークエリログの低速クエリログの傾向低速クエリログの統計、および低速クエリログの詳細を表示します。

    説明

    時間範囲を指定する場合、終了時刻は開始時刻より後である必要があり、開始時刻と終了時刻の間隔は24時間を超えることはできません。 1か月以内に低速クエリログをクエリできます。

    • トレンドチャートのある時点をクリックして、その時点での低速SQLクエリに関する統計と詳細を表示できます。

    • 低速クエリログのエクスポート をクリックして、スロークエリログをダウンロードします。

      重要

      最大1,000個のスロークエリログをエクスポートできます。 すべてのスロークエリログを取得する場合は、DescribeSlowLogRecords操作を呼び出します。

    • 低速クエリログの統計 タブで、次の手順を実行します。

      • 管理するSQLテンプレートの 操作 列で サンプル をクリックし、スロークエリログの詳細を表示します。

      • 管理するSQLテンプレートを見つけて、操作 列の 最適化 をクリックします。 SQL 診断の最適化 ダイアログボックスで、SQL診断の結果を表示します。

        SQL最適化の提案を受け入れる場合は、右上隅の コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはデータ管理 (DMS) に貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。

        説明

        DASは、SQL文の複雑さのレベル、テーブル内のデータ量、およびデータベースの負荷に基づいてSQL診断を実行します。 SQL診断が実行されてから20秒以上後に提案が返されることがあります。 診断が完了すると、SQL診断エンジンは診断結果、最適化の提案、および期待される最適化の利点を提供します。 診断結果に基づいて、提案を受け入れるかどうかを決定できます。

        [Database Expert Service] をクリックして、エキスパートサービスを購入することもできます。 Database Expert Serviceは、緊急支援、健康診断、パフォーマンスチューニング、セキュリティ保証、データ移行など、付加価値のあるプロフェッショナルなデータベースサービスを提供します。

      • 管理するSQLテンプレートを見つけて、操作 列の スロットリングを実行してください。 をクリックします。 SQL スロットリング ダイアログボックスで、パラメーターを設定します。 詳細については、「SQLスロットリング」をご参照ください。

    • 低速クエリログの詳細 タブで、管理するSQL文を見つけ、操作 列の 最適化 または スロットリングを実行してください。 をクリックして、SQL診断最適化またはSQLスロットリングを実行します。

よくある質問

Q: スロークエリログに記録されたSQL文の実行完了時間が、実際のSQL文の実行完了時間と異なるのはなぜですか。

A: この問題は通常、低速クエリログに記録されたタイムゾーンが実行されたSQL文によって変更されたときに発生します。 SQL文の実行完了時間は, スロークエリログに記録されているタイムゾーンによって異なります。セッションレベル, データベースレベル, システムレベルです。 データベースにタイムゾーンが指定されている場合、SQL文の実行完了時刻はデータベースのタイムゾーンに基づいて記録されます。 それ以外の场合は, システムのタイムゾーンに基づいてSQL文の実行完了时间が记录されます。 SQL文がセッションレベルでタイムゾーンを変更すると、スロークエリログに記録されたタイムゾーンが適切に変換されない可能性があります。

参考情報

RDSインスタンスで低速のSQLクエリが検出された場合、DASの自律機能を有効にして自動最適化を実装できます。