1 慢查询概念
慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。慢查询日志帮助开发和运维人员定位系统存在的慢操作。
特别注意,慢查询的所针对的时间,只是面向命令执行的时间,不报错发送请求,排队和返回的时间。
2 参数
慢查询的主要的相关参数有两个,分别为:
1. showlog-log-slower-than
2. slowlog-max-len
第一个参数指的是:执行是时间超过多少微秒的命令将会被记录到日志上。
比如,这个值是100,那么执行时间超过100微妙的命令就会被记录在慢查询日志
第二个参数指的是:服务器最多保存多少条慢查询日志。
服务器使用FIFO的方式保存多条查询日志,当服务器存储的慢查询日志数量等于showlog-max-len选项时,服务器在添加一条新的慢查询日志之前,会先将最旧的慢查询日志删除。
3 命令
- SLOWLOG GET
通过该命令查看服务器所保存的慢查询日志。 - SLOWLOG LEN
获取慢查询列表当前的长度 - SLOWLOG RESET
对慢查询列表清理(重置)
对于线上slow-max-len配置的建议:线上可加大slow-max-len的值,记录慢查询存长命令时redis会做截断,不会占用大量内存,线上可设置1000以上
对于线上slowlog-log-slower-than配置的建议:默认为10毫秒,根据redis并发量来调整,对于高并发比建议为1毫秒