许多存储系统(如:MySQL)提供慢查询日志帮助开发与运维人员定位系统存在的慢操作.所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录到慢查询日志中,Redis也提供了类似的功能.
slowlog get [n]#n默认为10,可以写大一点
以下是一次故障的排查,结果在redis慢查询日志里发现有keys操作导致
9) 1) (integer) 2023 2) (integer) 1558621270 3) (integer) 93776892 4) 1) "keys" 2) "*" 5) "?:0" 6) ""#1 id#2 时间戳#3 查询时长,93s#4,5命令,参数#6 连接ip