redisスロークエリーログ

2519 ワード

Slowlog
コマンドはredisスロークエリーログの読み取りと再設定に使用します.
概要
redisスロークエリーログは、指定したクエリー時間を超えるログを記録する.実行時間には、クライアントとのIO操作や応答時間などは含まれず、実際にredisがコマンドを実行する時間(スレッドがコマンドを実行する場合、ブロックが他のリクエストを処理するのにかかる時間だけ)
スロー・クエリー・ログには2つのパラメータがあります.
  • slowlog-log-slower-than:単位が微妙で、redisがコマンドを実行する最大時間を指定し、スロークエリーログに記録する、負の値を受け入れず、0に設定すると、各コマンドはスロークエリーログに記録する.
  • slowlog-max-len:遅いクエリーログの長さを設定し、遅いクエリーログが最大値に達した場合、新しいコマンドが記録する必要がある場合は、最も古いレコードを削除します.

  • スロー・クエリー・ログの読み込み
    スロー・クエリー・ログはメモリに格納され、スロー・クエリー・ログの内容はファイルに格納されません.したがって、遅いクエリーログを取得すると、応答が非常に速くなります.性能への影響は小さい.
    スロークエリーログを取得するには、slowlog getコマンドを使用して、すべてのスロークエリーを記録します.指定された数の遅いクエリの使用量を取得するには、次の手順に従います.
    slowlog get N
    ≪インスタンス|Instance|emdw≫
    redis 127.0.0.1:6379> slowlog get 2
    1) 1) (integer) 14
       2) (integer) 1309448221
       3) (integer) 15
       4) 1) "ping"
    2) 1) (integer) 13
       2) (integer) 1309448128
       3) (integer) 30
       4) 1) "slowlog"
          2) "get"
          3) "100"

    slowlog get戻り値説明
    返される各スロークエリエンティティは、4つのフィールドで構成されます.
  • の最初のフィールドは、遅いクエリごとに一意の識別子です.
  • 命令処理後のUnixタイムスタンプ
  • 実行改名に要する時間、単位微妙
  • コマンドのパラメータリストは、配列タイプ
  • です.
    各スロークエリエンティティのIDは一意であり、再設定されず、redisが再起動する後にのみリセットされる.
    現在のスロー・クエリー・ログの長さの表示
    Slowlog len
    スロー・クエリー・ログの内容をクリア
    SLOWLOG RESET