赞
踩
在redis.conf中可以配置和慢查询日志相关的选项:
- #执行时间超过多少微秒的命令请求会被记录到日志上 0 :全记录 <0 不记录
- slowlog-log-slower-than 10000
- #slowlog-max-len 存储慢查询日志条数
- slowlog-max-len 128
Redis使用列表存储慢查询日志,采用队列方式(FIFO)
查看日志:slowlog get [n]
- 127.0.0.1:6379> config set slowlog-log-slower-than 0
- OK
- 127.0.0.1:6379> config set slowlog-max-len 2
- OK
- 127.0.0.1:6379> set name:001 zhaoyun
- OK
- 127.0.0.1:6379> set name:002 zhangfei
- OK
- 127.0.0.1:6379> get name:002
- "zhangfei"
-
- 127.0.0.1:6379> slowlog get
- 1) 1) (integer) 7 # 日志的唯一标识符(uid)
- 2) (integer) 1589774302 # 命令执行时的UNIX时间戳
- 3) (integer) 65 # 命令执行的时长(微秒)
- 4) 1) "get" # 执行命令及参数
- 2) "name:002"
- 5) "127.0.0.1:37277"
- 6) ""
- 2) 1) (integer) 6
- 2) (integer) 1589774281
- 3) (integer) 7
- 4) 1) "set"
- 2) "name:002"
- 3) "zhangfei"
- 5) "127.0.0.1:37277"
- 6) ""
- # set和get都记录,第一条被移除了。
使用slowlog get 可以获得执行较慢的redis命令,针对该命令可以进行优化:
- rdb fork 子进程 数据量过大 主进程阻塞 redis性能大幅下降
- 关闭持久化 , (适合于数据量较小,有固定数据源)
内存与硬盘的swap
Redis客户端1
- 127.0.0.1:6379> monitor
- OK
- 1589706136.030138 [0 127.0.0.1:42907] "COMMAND"
- 1589706145.763523 [0 127.0.0.1:42907] "set" "name:10" "zhaoyun"
- 1589706163.756312 [0 127.0.0.1:42907] "get" "name:10"
Redis客户端2
- 127.0.0.1:6379>
- 127.0.0.1:6379> set name:10 zhaoyun
- OK
- 127.0.0.1:6379> get name:10
- "zhaoyun"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。