PolarDB for PostgreSQL (Compatible with Oracle) のスロークエリ分析機能は、コンソールを離れることなくクエリのパフォーマンス問題を特定・解決するのに役立ちます。この機能を活用して、スロークエリの傾向を可視化し、イベントの分布を確認し、個別の SQL ステートメントを掘り下げ、診断による最適化または SQL スロットリングを通じた是正措置を実施できます。
スロークエリ分析ビュー
スローログ分析 タブには 4 つのビューがあります。各ビューには明確な目的があります:
| ビュー | 説明 |
|---|---|
| スロークエリログの傾向 | 選択した時間範囲におけるスロークエリ発生頻度の推移を示す時系列チャートです。パフォーマンスの急上昇を検出し、デプロイメントやトラフィックの変化との相関を把握するためにご利用ください。 |
| イベント配信 | 選択した時間範囲内におけるスロークエリログイベントの内訳です。イベントをクリックすると、その詳細が表示されます。 |
| スロークエリログの統計情報 | SQL テンプレートごとにグループ化されたスロークエリです。このビューを活用して、繰り返し発生するパターンや、最も大きなパフォーマンスオーバーヘッドを引き起こすテンプレートを特定できます。 |
| スロークエリログの詳細 | 個別の SQL ステートメントを表示し、診断による最適化の実行またはスロットリングの適用が可能です。 |
コンソールでスロークエリを分析する
PolarDB コンソール にログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。左上隅からクラスターのリージョンを選択します。クラスターリストより対象クラスターを見つけ、その ID をクリックして 基本情報 ページへ移動します。
左側のナビゲーションウィンドウで、診断と最適化 > スロー SQL クエリ を選択します。
スローログ分析 タブで、データをフィルターするための時間範囲を設定します。
終了時刻は開始時刻より後である必要があります。また、時間間隔は 24 時間を超えてはなりません。前月分のスロークエリログを照会できます。
以下の 4 つのビューを活用してスロークエリを調査します:
スロークエリログの傾向
このトレンドチャートは、選択した時間範囲におけるスロークエリの発生頻度を示します。
チャート内の任意のポイントをクリックすると、その時点における統計情報およびログの詳細が表示されます。
ノード ID のドロップダウンリストからノードを選択すると、該当ノードにおけるスロークエリの件数を確認できます。
表示制限により SQL ステートメントが途中で切り詰められた場合、マウスをその上に合わせると全文が表示されます。
ダウンロードアイコンをクリックすると、スロークエリログをローカル環境に保存できます。
OpenAPI アイコンをクリックすると、現在のパラメーターが OpenAPI コンソールに送信され、API デバッグが可能になります。
イベントのディストリビューション
このセクションでは、選択した時間範囲内のスロークエリログイベントの一覧が表示されます。イベントをクリックすると、その詳細が表示されます。
スロークエリログの統計情報
このタブでは、スロークエリが SQL テンプレートごとにグループ化されています。テンプレートのログサンプルを確認するには、該当テンプレートを見つけ、操作 列の 詳細 をクリックします。スローログサンプル ダイアログボックスには、そのテンプレートに代表されるログエントリが表示されます。
スロークエリログの詳細
このタブでは、個別の SQL ステートメントが一覧表示されます。ステートメントに対して操作を行うには、該当ステートメントを見つけ、操作 列から以下のいずれかをクリックします:
操作 操作内容 最適化 対象の SQL ステートメントに対して SQL 診断分析を実行し、パフォーマンス向上のための改善案を提示します。 スロットリング 対象の SQL ステートメントの実行頻度を制限する SQL スロットリングを適用します。
よくある質問
スロークエリログに記録された実行完了時刻が、実際の時刻と異なるのはなぜですか?
これは、実行済みの SQL ステートメントがスロークエリログに記録されるタイムゾーンを変更した場合に発生します。完了時刻は、以下の順序で解決されるタイムゾーンに基づいて決定されます:セッションレベル → データベースレベル → システムレベル。データベースにタイムゾーンが設定されている場合は、そのタイムゾーンが使用されます。設定されていない場合は、システムタイムゾーンが適用されます。セッションレベルでタイムゾーンが変更された場合、記録された時刻が正しく変換されず、結果として差異が生じることがあります。
API リファレンス
| 操作 | 説明 |
|---|---|
| DescribeSlowLogRecords | クラスターのスローログの詳細を照会します。 |
| DescribeDBClusterAuditLogCollector | クラスターに対して SQL データコレクターが有効化されているかを照会します。 |
| ModifyDBClusterAuditLogCollector | クラスターに対して SQL データコレクターを有効化または無効化します。 |