首页/数据/Redis 进阶速查/slowlog-log-slower-than 阈值设定
性能与排障129 条

slowlog-log-slower-than 阈值设定

slowlog-log-slower-than 以微秒为单位设定记录阈值(默认 10000);设为 0 记录所有命令、负值关闭记录。

Redis 进阶速查数据更新于 2026-10-13

slowlog-log-slower-than 是什么

slowlog-log-slower-than 以微秒为单位设定慢日志的记录阈值,默认 10000,即 10 毫秒。设为 0 表示记录全部命令,适合临时诊断窗口;设为负值则完全关闭记录。阈值衡量的是服务端执行时间,不含网络往返与客户端等待。

基本信息

配置项slowlog-log-slower-than
默认值10000 微秒(10 毫秒)
设为 0记录所有命令,仅适合短时诊断
设为负值关闭慢日志记录
配套项slowlog-max-len 控制保留条数,默认 128
生效方式CONFIG SET 动态生效,注意同步写回配置文件

典型使用场景

  • 常态化观测:把阈值设在业务可感知的水平,长期留有线索
  • 现场抓取:怀疑偶发慢请求时临时降到几百微秒,短窗口抓完就恢复
  • 压测校准:压测中调低阈值,观察哪些命令随并发升高而变慢
  • 上线对比:发布前后用同一阈值统计,判断是否引入了新的慢路径
  • 成本控制:阈值过低会让日志膨胀,需要在信息量与开销间定线

调整与验证

调整与验证
redis-cli CONFIG GET slowlog-log-slower-than          # 查看当前阈值
redis-cli CONFIG SET slowlog-log-slower-than 5000     # 收紧到 5 毫秒,抓更细的现场
redis-cli SLOWLOG RESET                               # 清空旧记录便于观察
redis-cli SLOWLOG LEN                                 # 观察条目增长速度
redis-cli SLOWLOG GET 5                               # 抽看几条判断是否值得继续抓
redis-cli CONFIG SET slowlog-log-slower-than 10000    # 诊断结束恢复默认

阈值取值对照

取值行为适用判断
负值不记录任何慢命令极少使用,等于放弃这条线索
0记录全部命令短窗口诊断,必须尽快恢复
1000 微秒抓 1 毫秒以上的命令现场排查,日志量偏大
10000 微秒默认,抓 10 毫秒以上多数生产环境的常规设置
很高或负值几乎看不到记录容易误以为实例没有慢命令
慢日志的判定在服务端执行环节完成,所以同一命令在客户端看到的耗时可能远大于记录值,差值主要来自网络与排队。
阈值长期设为 0 会记录海量命令,日志内存与写入开销都会上升;诊断窗口结束要立即恢复,并把这次调整记进变更记录。

易错点

  • 临时调低阈值后忘记恢复,慢日志持续膨胀,占内存也干扰后续观察
  • 长期设 0 抓全量命令,把诊断手段当成常态配置
  • 阈值设在毫秒级别以下却只看条数不看命令类型,抓了一堆噪声没有结论
  • 修改只在运行期生效没写回配置,重启后阈值回退,观察口径前后不一致

数据来源与参考

  • Redis 官方文档:慢日志阈值配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌