# 慢查
慢查日志用于监测命令执行的异常耗时。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字节