hubble数据库如果SQL语句返回意外结果或处理时间超过预期,则可以通过设置来输出查看慢sql。
方式1:使用慢sql日志查询
方式2:hubble页面来查看慢sql
采用方式1 慢sql日志查询的形式为超过预期的sql,将会持久记录到sql-slow.log中,因需要过滤筛选慢sql性能下降10%左右。默认未开启。
采用方式2 hubble页面来查看慢sql,最大设置可以查看24h之内sql。
sql.log.slow_query.latency_threshold
为您所选择的阈值。例如,60秒表示用户感觉到的系统在瞬间做出反应的极限。SET CLUSTER SETTING sql.log.slow_query.latency_threshold = '60s';
sql.log.slow_query.internal_queries.enabled
集群设置为 true
SET CLUSTER SETTING sql.log.slow_query.internal_queries.enabled = true;
进入hubble数据库日志目录 /data/hubbledir310/logs/
查看sql-slow.log
文件
[root@poc-hubble04 logs]# cd /data/hubbledir310/logs/
[root@poc-hubble04 logs]# tail -n 4 hubble310-sql-slow.log
I220613 08:57:03.414866 1147934625 util/log/file_sync_buffer.go:238 ⋮ [config] log format (utf8=✓): hubdb-v2
I220613 08:57:03.414873 1147934625 util/log/file_sync_buffer.go:238 ⋮ [config] line format: [IWEF]yymmdd hh:mm:ss.uuuuuu goid [chan@]file:lineredactionmark \[tags\] [counter] msg
I220613 08:57:03.412822 1147934625 10@util/log/event_log.go:32 ⋮ [n3,client=‹192.168.1.11:50628›,hostssl,user=root] 1 ={"Timestamp":1655110514810544287,"EventType":"slow_query","Statement":"‹SELECT * FROM \"\".\"\".bptfhist_2y2 AS t WHERE main_ac LIKE '%10268427281' LIMIT 2›","Tag":"SELECT","User":"root","ApplicationName":"$ hubble sql","ExecMode":"exec","Age":108602.01,"FullTableScan":true,"TxnCounter":6}
查看sql语句,进行慢sql分析。
进入 hubble 页面控制台,单击左侧的 '语句列表' ,查看 '语句列表' 页面。