# 慢查

慢查日志用于监测命令执行的异常耗时。Bitalosproxy和Bitalostored都可以将慢查记录到日志。慢查耗时阈值可配置,命令执行时间超过阈值则会被记录到日志。慢查日志有两种用途,一是根据单条记录来排查不合理的使用,二是根据慢查数量来观察服务的稳定性。

  • Bitalostored计算命令执行时间,包含raft命令提交的时间,不包含对上游的网络I/O时间。
  • Bitalosproxy计算命令执行时间,包含Bitalostored的响应时间(可能会并发调用多个Bitalostored节点,取最长响应时间),不包含对上游的网络I/O时间。

# Bitalostored

慢查日志默认打开,慢查耗时阈值通过 server.slow_time 设置,慢查日志目录:server.db_path + log,文件名:bitalos.log.slow.xxx

慢查日志格式:

2024-02-29 13:07:18.667973 server/client.go:303 [SLOW] [ip_port:127.0.0.1:62895] [duration(us):50802] [raftsync(us):0] [query:"xxx"] [status:OK]

- 慢查日志时间,单位微秒(μs)
- ip_port,上游ip和端口
- duration,慢查总耗时(包含raft提交耗时),单位微秒(μs)
- raftsync,raft提交命令耗时,单位微秒(μs)
- query,命令详情,最多输出前128字节
- status,命令执行是否正常,正常输出OK,异常输出FAIL

# Bitalosproxy

慢查日志配置如下。

配置项 含义 备注
log.slow_log 慢查日志是否开启 ture|false
log.slow_log_cost 慢查耗时阈值
log.slow_log_file 慢查日志路径 包含文件名前缀

慢查的日志格式:

2024/02/28 23:05:38.502621 log.go:394: [INFO] [ip_port:127.0.0.1:51372] [duration(us):50530] [status:OK] [query:"xxx"]

- 慢查日志时间,单位微秒(μs)
- ip_port,上游ip和端口
- duration,慢查总耗时,单位微秒(μs)
- status,命令执行是否正常,正常输出OK,异常输出错误详情
- query,命令详情,最多输出前256字节
ZUOYEBANG