[redis] slowlog

nosql 2015. 6. 21. 23:31



mysql처럼 Redis 의 slowlog를 볼 수 있다.  2.2.12부터 사용가능하다.


http://redis.io/commands/slowlog



1. slowlog 설정하기


config set slowlog-log-slower-than (시간) 명령을 이용하여 

100ms 이상 소요되는 모든 쿼리 시간을 기록한다.


127.0.0.1:6379> config set slowlog-log-slower-than 100

1) "slowlog-log-slower-than"

2) "100"


127.0.0.1:6379> config get slowlog-log-slower-than

1) "slowlog-log-slower-than"

2) "100"



config set slowlog-max-len (숫자) 명령을 이용하여

max 1000 개의 slow 로그 개수 저장한다.


127.0.0.1:6379> config set slowlog-max-len 1000

OK


127.0.0.1:6379> config get slowlog-max-len

1) "slowlog-max-len"

2) "1000"



2. slowlog 보기



slowlog가 점점 많아진다면, slowlog len 의 결과가 점점 많아진다.


127.0.0.1:6379> slowlog len

(integer) 12123


127.0.0.1:6379> slowlog len

(integer) 12130



slowlog를 보려면 slowlog get 명령어를 사용한다. 쿼리 실행시간을 체크한다.

127.0.0.1:6379> slowlog get

1) (정수) # 고유 로그 식별자

2) (정수) # 유닉스 타임 스탬프 형식 

3) (정수) # 쿼리 실행시간

4) Array 구성 # 저장된 실제 명령어 

...



slowlog get 명령어는 여러 개를 보여주기 때문에, 하나만 보고 싶으면, <숫자>만 추가하면 숫자만큼 보여준다.



127.0.0.1:6379> slowlog get 1

1) 1) (integer) 1772
2) (integer) 1434638964
3) (integer) 101857
4) 1) "ZRANGEBYSCORE"
2) "uid:69547021"
3) "-inf"
4) "-94001836743585987"

slowlog 발생하면, 다른 것으로 대체된다.

127.0.0.1:6379> slowlog get 1
1) 1) (integer) 1773
2) (integer) 1434638966
3) (integer) 11956
4) 1) "ZRANGE"
2) "uid:71318816"
3) "0"
4) "-1"
5) "withscores"




3. slowlog 재설정


127.0.0.1:6379> slowlog reset




Posted by '김용환'
,