LoginSignup
0
0

More than 1 year has passed since last update.

【RDS/MySQL】スロークエリログの取得から本番環境に適用するまで

Posted at

はじめに

DB利用において、レイテンシーを向上させる方法として、スロークエリログを取得し、該当クエリの改善を図る。

スロークエリとは?

ここでは、スロークエリの取得から本番環境へ適用するまでを残す。


【環境】

  • RDS for MySQL 5.7.34

手順

RDSのパラメータグループを変更

パラメータグループの変更箇所
# 通常ログを有効化(デフォルト値は 0 またはログなし)
general_log = 1

# スロークエリを有効化(デフォルト値は 0 またはログなし)
slow_query_log = 1

# ログに出力するスロークエリの秒数を指定(この値を閾値にスロークエリと判定。μs単位まで指定可能)
long_query_time = 3 

# 一般クエリログとスロークエリログの両方をファイルシステムに書き込み、Amazon RDS コンソールからログを表示
log_output = FILE 
 

RDSの設定変更

ログのエクスポートでスロークエリログにチェック

スクリーンショット 2022-08-10 15.42.32.png

設定変更後、RDSを再起動
(※パラメータグループの内容を変更した場合、RDSを再起動させる必要があります。)

CloudWatchでログ確認

RDS再起動後、RDSが存在する環境で適当にクエリが重そうな箇所をポチポチいじる。

数分後、CloudWatchのロググループに/aws/rds/instance/{DB名}/slowqueryとうロググループが出来上がる。

ログを確認すると、スロークエリに該当するSQL発行ログが蓄積されている。

これで終了!

本番環境のRDSに設定するまでの流れ

  • 検証環境用の新しいパラメータグループを作成(既存からのコピーして複製)
  • スロークエリを取得できるようにパラメータグループを変更
    • 変更後、手動でRDS再起動する必要あり
  • 検証環境で検証
    • CloudWatchでスロークエリログ取得の確認
  • 本番環境用、パラメータグループの変更
    • 変更後、手動でRDS再起動する必要あり

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0