redis slowlog

2439 ワード

slowlog(原文を読む)redisスローリクエストログの読み取りとリセットに使用
redis slow logの概要
redisのslow logは、実行時間が所定時間を超えるリクエストを記録する.実行時間にはI/O操作(クライアントとのネットワーク通信など)は含まれませんが、コマンドの実際の実行時間(スレッドがブロックされ、他のリクエストにサービスできません).slow logを構成するには、slow log-log-slower-thanの2つのパラメータがあります.ミリ秒単位で実行時間を設定します.実行時間がこの時間を超えるコマンドはlogに記入されます.-1はslow logを記録しないことを示す.0すべてのコマンドを強制的に記録します.slowlog-max-len:slow logの長さ.最小値は0です.ログ・キューが最大長を超えている場合、最も古いレコードはキューから消去されます.redisを編集できます.confファイルは、以上の2つのパラメータを構成します.実行中のredisでは、config get、config setコマンドで上記の2つのパラメータを動的に変更できます.
slow logの読み込み
slow logはメモリに記録されているので、すべてのコマンドを記録しても(slowlog-log-slower-thanを0に設定)、パフォーマンスへの影響は小さくなります.slowlog get:すべてのslow log slowlog get Nをリストする:最近のN本のslow logをリストする
出力フォーマット
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"

各エントリは4つのフィールドで構成される:1)このslow logを表す一意id 2)unixタイムスタンプで表されるログ記録時間3)コマンド実行時間,単位:マイクロ秒4)で実行される具体的なコマンドはreidsが再起動した場合にのみid番号がリセットされる.
現在のslowlog長の取得
slowlog len
slowlogのリセット
slowlog resetを使用してslow logをリセットできます.ログが削除されると、リカバリできません.