Skip to content

第10章:慢查询日志与性能监控 ​

本章目标 ​

使用 SLOWLOG/INFO/MONITOR 监控 Redis 性能


10.1 慢查询日志 ​

bash
# 设置阈值(微秒,10000=10ms)
CONFIG SET slowlog-log-slower-than 10000

# 查看慢查询
SLOWLOG GET 10           # 最近10条

# 1) 1) (integer) 1234    ← 唯一ID
#    2) (integer) 1705300  ← 时间戳
#    3) (integer) 15000    ← 耗时(微秒)
#    4) 1) "KEYS"          ← 命令
#       2) "*"

SLOWLOG LEN              # 慢查询数量
SLOWLOG RESET            # 清空

10.2 INFO 命令 ​

bash
INFO server      # 版本、运行天数、OS
INFO clients     # 连接数、阻塞数
INFO memory      # 内存使用、碎片率
INFO stats       # 命中率、命令次数
INFO replication # 主从状态
INFO keyspace    # 各DB的Key数量

# 关键指标
# memory: used_memory_human / maxmemory_human / mem_fragmentation_ratio
# stats: keyspace_hits / keyspace_misses → 计算命中率
# clients: connected_clients / blocked_clients

10.3 MONITOR(仅调试用) ​

bash
MONITOR
# 实时显示每条命令
# 1765300000.123456 [0 127.0.0.1:12345] "SET" "name" "张三"
# 1765300000.234567 [0 127.0.0.1:12345] "GET" "name"

⚠️ MONITOR 自身会消耗约 50% 性能,生产环境禁用!


本章小结 ​

  • SLOWLOG:诊断慢命令
  • INFO:全面了解服务器状态
  • MONITOR:仅调试用,生产禁用
  • 关注 cache hit ratio = hits/(hits+misses)

练习题 ​

  1. 设置慢查询阈值为 1000 微秒,执行一个慢操作,用 SLOWLOG 查看。
  2. 用 INFO 查看内存、命中率、连接数。
  3. 用 MONITOR 观察命令执行(仅测试环境)。

把零散知识,整理成可以反复走的路。