1.SLOWLOG LEN
获取 Slowlog 的长度,以确定 Slowlog 中有多少条记录
2.SLOWLOG GET
获取 Slowlog 中的具体记录。你可以使用 SLOWLOG GET 命令来获取第 n 条记录的详细信息,其中 n 是记录的索引(从 0 开始)
3.如果你想获取多条最慢的执行语句,可以循环使用 SLOWLOG GET 命令来获取不同索引的记录。
请注意,Slowlog 只会记录执行时间超过指定阈值的命令,默认阈值是 10 毫秒。你可以通过配置参数 slowlog-log-slower-than 来调整阈值。同时,Slowlog 的记录是有限的,当记录数量达到设置的最大限制后,旧的记录会被新的记录替代。
在实际应用中,你可以编写脚本或程序来自动获取并分析 Slowlog,以便获取最慢的执行语句信息。
4.slowlog-log-slower-than
这个参数定义了一个执行时间的阈值,单位是微秒(μs)。只有执行时间超过这个阈值的命令才会被记录在 Slowlog 中。默认值是 10000 微秒(10 毫秒)。你可以根据需要调整这个阈值,以控制记录在 Slowlog 中的命令范围。
5.slowlog-max-len
这个参数定义了 Slowlog 的最大长度,即 Slowlog 中可以记录的最多命令数量。当 Slowlog 中的记录数量达到这个值时,旧的记录会被新的记录替代。默认值是 128。如果你希望保留更多的 Slowlog 记录,可以适当增加这个参数的值。
6.Slowlog 中的每条记录包含以下信息
id: 一个递增的唯一标识符,表示 Slowlog 记录的序号。
timestamp: 记录被创建的时间戳,通常以秒为单位。
execution_time: 命令的执行时间,以微秒(μs)为单位。即命令从开始执行到结束所花费的时间。
command: 执行的命令及其参数,以数组的形式表示。
例如,假设你执行了以下命令:
SET key1 value1
如果该命令执行时间超过了 Slowlog 的阈值,相应的 Slowlog 记录可能如下所示:
1) 1) (integer) 1
2) (integer) 1652204489
3) (integer) 2356
4) 1) "SET"
2) "key1"
3) "value1"
在这个记录中,id 是 1,timestamp 表示时间戳,execution_time 是 2356 微秒,command 是执行的 SET 命令及其参数。
实机操作: