Redisラーニングノート-Slow Logスロークエリーログ

2797 ワード

SLOW LOGとは


1.Slow logは、Redisがクエリ実行時間を記録するためのログシステムである。


2.クエリ実行時間とは、クライアント応答(talking)、返信の送信などのIO操作を含まず、クエリコマンドを1つ実行するのにかかる時間を指す。


3.slow logはメモリに保存されており、読み書き速度が非常に速いので、slow logをオンにすることでRedisの速度を損なう心配はありません。


SLOW LOGスロークエリー構成項目


1.slowlog-log-slower-than(遅いクエリのしきい値(単位:マイクロ秒))

  • 特徴
  • クエリーコマンドの実行にかかる時間が設定したしきい値より大きい場合、スロークエリーログ
  • に記録される.
  • slowlog-log-slower-than=0、すべてのコマンド
  • を記録
  • slowlog-log-slower-than<0、コマンド
  • は記録されません
  • のデフォルト値は10000(10ミリ秒、1秒=1000ミリ秒=1000000マイクロ秒)
  • です.

    2.slowlog-max-len(スロークエリログの最大数)

  • 特徴
  • 先頭のキュー(つまり、遅いクエリー・ログが最大エントリ数に達すると、最も古いレコードのログ・エントリが破棄されます)
  • 固定長
  • メモリに保存(redisを再起動すると遅いクエリーログが空になる)
  • のデフォルト値は128,
  • です.

    3.構成方法

  • プロファイルredis.confを変更し、redis
  • を再起動する.
  • コマンドを使用する動的構成
  • CONFIG SET slowlog-log-slower-than 100
  • CONFIG SET slowlog-max-len 1024
  • スロークエリー構成を表示
  • CONFIG GET slowlog-*
  • 127.0.0.1:6379> CONFIG GET slowlog-*
    1) "slowlog-log-slower-than"
    2) "100"
    3) "slowlog-max-len"
    4) "1024"

    スロー・クエリー・ログの表示


    1. SLOWLOG GET [n]

  • 最新のn個の遅いクエリレコード
  • を取得する
  • nを加算しなければ、すべてのスロークエリレコード
  • を取得する.
    127.0.0.1:6379> SLOWLOG GET 3
    1) 1) (integer) 14                #    (unique)      
       2) (integer) 1522808219        #            ,  UNIX        
       3) (integer) 16                #       ,      
       4) 1) "keys"                   #      ,        
          2) "*"                      #          "keys *"
    2) 1) (integer) 13
       2) (integer) 1522808215
       3) (integer) 7
       4) 1) "set"
          2) "name"
          3) "baicai"
    3) 1) (integer) 12
       2) (integer) 1522808198
       3) (integer) 101
       4) 1) "set"
          2) "age"
          3) "25"

    2. SLOWLOG LEN

  • 現在のログを表示する
  • 127.0.0.1:6379> SLOWLOG LEN
    (integer) 16

    3. SLOWLOG RESET

  • ログをクリア
  • 127.0.0.1:6379> SLOWLOG RESET
    OK
    127.0.0.1:6379> SLOWLOG LEN
    (integer) 0

    遅いクエリーの運転経験


    1.slowlog-log-slower-thanはあまり大きく設定しないでください。デフォルトは10 msで、通常は1 msに設定できます。


    2.slowlog-max-lenは小さく設定しすぎず、通常1000程度に設定できます。


    3.コマンドのライフサイクルを理解する

  • クエリーのライフサイクル
  • 4.定期的に遅いクエリー・ログを永続化

  • スロークエリーログはメモリに保存されているため、redisを再起動するとスロークエリーログが空になり、履歴のスロークエリーログを保持するには、定期的にスロークエリーログをmysqlなどのデータベースに格納することができます.

  • 関連内容:


    Redis学習ノート-データ型とAPI(1)KeyRedis学習ノート-データ型とAPI(2)StringRedis学習ノート-データ型とAPI(3)ListRedis学習ノート-データ型とAPI(4)SetRedis学習ノート-データ型とAPI(5)Sorted SetRedis学習ペン-データ型とAPI(6)Hash