読者です 読者をやめる 読者になる 読者になる

Redisのslowlog設定

概要

Redisのスローログ出力方法と設定のメモ

slowlogを5件出力する

SLOWLOG GET 5


表示例

[tsunokawa@test ~]$ redis-cli
127.0.0.1:6379> SLOWLOG GET 5
 1) 1) (integer) 18284101
    2) (integer) 1471441352
    3) (integer) 56080
    4) 1) "GET"
       2) "testkey1"
 2) 1) (integer) 18284100
    2) (integer) 1471441352
    3) (integer) 55133
    4) 1) "GET"
       2) "testkey1"
 3) 1) (integer) 18284099
    2) (integer) 1471441352
    3) (integer) 43424
    4) 1) "GET"
       2) "testkey1"
 4) 1) (integer) 18284098
    2) (integer) 1471441352
    3) (integer) 63600
    4) 1) "GET"
       2) "testkey1"
 5) 1) (integer) 18284097
    2) (integer) 1471441351
    3) (integer) 84269
    4) 1) "GET"
       2) "testkey1"
127.0.0.1:6379> 


ログの見方

 1) 1) (integer) 18284101
    2) (integer) 1471441352
    3) (integer) 56080
    4) 1) "GET"
       2) "testkey1"

上から

  • 自動採番されたID
  • コマンド実行時のUnixタイムスタンプ
  • コマンド実行にかかった時間(マイクロ秒)
  • コマンドとそのパラメータ


スローログ設定(デフォルト)

/etc/redis.conf

slowlog-log-slower-than 10000
slowlog-max-len 128

10000マイクロ秒以上かかったクエリを128件保持するようになっている。

スローログ設定確認と変更(オンライン)

設定確認
127.0.0.1:6379> CONFIG GET slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"
127.0.0.1:6379> 


127.0.0.1:6379> CONFIG GET slowlog-max-len
1) "slowlog-max-len"
2) "128"
127.0.0.1:6379> 


設定変更
127.0.0.1:6379> CONFIG SET slowlog-log-slower-than 0
OK
127.0.0.1:6379> 

10000マイクロ秒から0マイクロ秒へ変更
これで全てのクエリがスローログとして保持される。

127.0.0.1:6379> CONFIG SET slowlog-max-len 256
OK
127.0.0.1:6379> 

スローログ保持件数を128件から256件へ変更

スローログ保持件数確認

スローログが何件保持されているかは

SLOWLOG LEN

で確認可能


表示例

127.0.0.1:6379> SLOWLOG LEN
(integer) 128
127.0.0.1:6379> 


スローログのリセット

保持しているスローログを削除する。

SLOWLOG RESET


表示例

127.0.0.1:6379> SLOWLOG RESET
OK
127.0.0.1:6379> 


広告を非表示にする