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

Database Autonomy Service:低速クエリログ分析

最終更新日:Nov 13, 2024

低速SQLクエリは、データベースの安定性を大幅に低下させます。 データベースで高いワークロードやパフォーマンスのジッターなどの問題が発生した場合、データベース管理者 (DBA) または開発者は、最初に低速クエリログが生成されているかどうかを確認します。 Database Autonomy Service (DAS) は、低速クエリのログ分析機能を提供します。 DASは、実行期間が指定されたしきい値を超えるSQL文の統計を収集および分析し、ソリューションを提供します。 データベースのパフォーマンスの問題を簡単にトラブルシューティングできます。 これにより、システムの信頼性と安定性が向上します。

前提条件

  • 管理するデータベースインスタンスは、次のいずれかのタイプです。

    • ApsaraDB RDS for MySQLPolarDB for MySQLApsaraDB MyBase for MySQL、および自己管理型MySQLデータベース

    • ApsaraDB RDS for SQL ServerおよびApsaraDB MyBase for SQL Server

    • ApsaraDB RDS for PostgreSQLおよびPolarDB for PostgreSQL

    • ApsaraDB for Redis と自己管理Redisデータベース

    • PolarDB for PostgreSQL (Oracleと互換)

    • PolarDB-Xの2.0

    • ApsaraDB for MongoDBおよび自己管理型MongoDBデータベース

    重要
    • Basic EditionのApsaraDB RDS for MySQLおよびApsaraDB RDS for PostgreSQLインスタンスは、低速クエリのログ分析機能をサポートしていません。

    • スロークエリログのグローバルな傾向は、中国本土にあるApsaraDB RDS for MySQLインスタンス、ApsaraDB MyBase for MySQLクラスター、およびPolarDB for MySQLクラスターに対してのみ表示できます。

  • データベースインスタンスがDASに接続されています。 詳細については、「データベースインスタンスのDASへの接続」をご参照ください。

背景情報

低速クエリログは、データベースカーネルによって生成されます。 関連するパラメータとしきい値は、データベースエンジンによって異なります。 詳細については、対応する公式ドキュメントをご参照ください。

単一のデータベースインスタンスの低速クエリログの表示

この例では、ApsaraDB RDS for MySQLインスタンスが使用されています。

  1. DASコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。

  3. 表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。

  4. 左側のナビゲーションウィンドウで、リクエスト分析 > 低速クエリログを選択します。

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

    説明

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

    • 低速クエリログの傾向セクションで、トレンドチャートのある時点をクリックし、その時点でのスロークエリログの統計と詳細を表示できます。

    • 低速クエリログのエクスポート をクリックすると、スロークエリログをコンピューターにダウンロードできます。

    • 低速クエリログの統計 タブでは、次の操作を実行できます。

      • 管理するSQLテンプレートを見つけて、操作 列の サンプル をクリックします。 低速クエリログサンプル ダイアログボックスで、SQLテンプレートのスロークエリログサンプルを表示します。

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

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

        説明

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

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

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

      • PolarDB For MySQLクラスターの場合、管理するSQLテンプレートを見つけ、操作 列の [IMCI] をクリックして、インメモリ列インデックス (IMCI) 機能のドキュメントを表示します。

        説明
        • PolarDB for MySQLクラスターのIMCIノードが購入されていない場合、SQLテンプレートの最大実行時間が20秒を超え、SQLテンプレートの最大スキャン行数が200,000を超える場合、[IMCI] ボタンが [アクション] 列に表示されます。

        • 大量のデータに対して複雑なクエリが必要な場合は、IMCI機能を使用してクエリのパフォーマンスを向上させることをお勧めします。

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

スロークエリログのグローバルな傾向を表示する

複数のデータベースインスタンスがある場合、[スローログ] ページの [グローバル低速クエリログの傾向] セクションと [トップインスタンス統計] セクションで、データベースインスタンスのスロークエリログのグローバルトレンドと、上位10のデータベースインスタンスのスロークエリログの統計を表示できます。

重要

スロークエリログのグローバルな傾向は、中国本土にあるApsaraDB RDS for MySQLインスタンス、ApsaraDB MyBase for MySQLクラスター、およびPolarDB for MySQLクラスターに対してのみ表示できます。

  1. にログインします。DASコンソール.

  2. 左側のナビゲーションウィンドウで、リクエスト分析 > 低速クエリログ を選択します。 表示されるページで、グローバル低速クエリログの傾向 および Top インスタンス統計 セクションの統計情報を表示します。

    説明

    時間範囲を選択する場合、終了時刻は開始時刻より後でなければなりません。 過去14日以内の低速クエリログをクエリできます。

よくある質問

Q: スロークエリログに記録されたSQL文の実行完了時間が、ApsaraDB RDS for MySQLインスタンスまたはPolarDB for MySQLクラスターのSQL文の実際の実行完了時間と異なるのはなぜですか。

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

関連ドキュメント

DASの自律機能を有効にできます。 これにより、データベースインスタンスで低速SQLクエリが検出されると、DASは低速SQLクエリを自動的に最適化します。