慢日志是记录命令执行超过
配置时间的命令的功能
用于查询较慢的命令操作,
根据慢日志可以分析并确定一些
数据库的使用问题,
进而可以针对这些问题进行优化.
慢日志是内存数据,不参与持久化,重启数据库清空
相关配置
1 | slowlog-log-slower-than 10000 |
慢日志配置单位为微秒
1秒=1000000微秒
本身是双向链表结构
当数据超过长度限制后
会从头数据开始删除
查询慢日志的方法
客户端连接
发送查询命令即可
(慢日志不是写文件的日志,
是在内存内维护的一套数据结构)
命令
slowlog get [条数]
,没有参数则获取所有慢日志,添加条数则按由近到远的时间顺序
显示最近几条的慢日志slowlog len
,显示当前公有多少条慢日志slowlog reset
,重置所有慢日志,清除记录
例子
1 | 127.0.0.1:9898> slowlog len |
注:
字段说明:
- id
- 运行命令的时间戳(秒,unixtime)
- 执行命令时间,单位:微秒
- 执行的具体命令和参数信息
使用慢日志的思路
通过客户端,定时想数据库请求慢日志信息,
根据慢日志的id整理所有慢日志,
并将同类命令的整理在一起,
进而找到花费时间长的命令进行有针对的优化.