第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_clients10.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)
练习题
- 设置慢查询阈值为 1000 微秒,执行一个慢操作,用 SLOWLOG 查看。
- 用 INFO 查看内存、命中率、连接数。
- 用 MONITOR 观察命令执行(仅测试环境)。