ヘプタゴンの技術ブログ

サーバ/ネットワーク/linux/AWSとか青森を拠点でやってます

Postgresql on RDSでスロークエリを表示

実行に時間がかかっているクエリを見つけてそれを改善する事で、システムのパフォーマンス向上が見込まれます。

postgresqlではスロークエリを表示する設定を行うことができます。

自分でpostgresqlサーバーを構築する場合は、
postgresql.confのlog_min_duration_statementで設定を行いますが、
RDSでは、DB Parameter Groupsから設定を行います。
スロークエリを表示したいサーバのDB Parameter Groupsを選択して設定を行います。

RDSでslow query

RDSでslow query

log_min_duration_statementの項目にクエリを表示させる閾値を設定します。
単位はミリ秒となります。
設定後、Save Changesをクリックするとインスタンスの再起動なく設定が反映されます。

これでクエリの実行時間が設定した値を越えた場合にログに書き出されるようになります。
書き出されたログは、対象のRDSインスタンスのLogsから閲覧/ダウンロードできます。

これでクソクエリをあぶり出しましょう!