ある企業が AWS 上で Amazon RDS for PostgreSQL を運用しており、定期的に実行される重いクエリがデータベースのパフォーマンスを低下させています。どのクエリが遅く、何が原因かを特定したいと考えています。また、インデックスが適切に使われているかも確認したいと考えています。最小限の設定変更で詳細なクエリ分析を実施するには、どのサービスが最も適切ですか?
- A. RDS の自動スナップショットを確認し、スナップショット作成時間からパフォーマンスの傾向を把握する
- B. RDS のスロークエリログを有効化し、ログファイルを手動でダウンロードして分析する
- C. Amazon RDS Performance Insights を有効化し、DBLoad メトリクスと待機イベント(Wait Events)を分析する。Performance Insights のトップ SQL ビューで最も負荷の高いクエリを特定し、Explain Plan で実行計画とインデックスの使用状況を確認する
- D. RDS のインスタンスメトリクス(CPU、メモリ)を CloudWatch で確認し、高い時間帯を特定する
解答と解説を見る
正解: C
Amazon RDS Performance Insights はリアルタイムおよび過去 7 日間(デフォルト)のデータベース負荷を可視化します。DBLoad(データベースが処理しているアクティブセッション数)、待機イベント(どのリソースを待っているか)、トップ SQL(最も負荷の高いクエリ)を GUI でドリルダウン分析できます。追加のソフトウェアなしに数クリックで有効化でき、RDS の大幅な設定変更も不要です。 D: CloudWatch のインスタンスメトリクスはリソース使用率の確認には有効ですが、どのクエリが原因かを特定する SQL レベルの分析はできません。 B: スロークエリログの有効化は有効ですが、log_min_duration_statement パラメーターの設定が必要で、ログファイルの手動ダウンロードと分析の手間があります。Performance Insights の方がはるかにシンプルです。 A: スナップショットはバックアップ目的であり、クエリパフォーマンス分析には一切使えません。
📚 関連サービスの解説: Amazon RDS