暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a数据库trace日志使用说明

DBA小吉 2025-11-17
128

南大通用GBase 8a数据库trace 日志主要用于分析性能。1、gcluster 层:记录 SQL 分布式执行计划。2、gnode 层:记录 sql 下发到当前节点的执行情况

日志文件存储路径开启 trace 日志后查询计划输入到$GCLUSTER_BASE/log/gcluster $GBASE_BASE/log/gbase 目录下以.trc 结尾的文件中。

日志内容说明在 gcluster 配置文件中按照如下示例设置,开启 trace 日志,trace 日志默认是关闭的;gbase> SET GLOBAL gbase_sql_trace=1;gbase> SET GLOBAL gbase_sql_trace_level=3;


  • gbase_sql_trace_level 有 1、2、3 级,表示 trace 日志记录信息的详细程度,第 3 级是最详细的日志内容。 日志文件为.trc 后缀名的文件;
  • GCluster 层的 trace 记录 SQL 的分布式执行计划。可查看 SQL 语句的计划步骤是 3 步还是 2 步,找出执行时间间隔最大的步骤,然后分析是否能应用优化方法进行优化提高性能;
  • GNode 层的 trace 日志记录 SQL 语句的完整执行过程。因为一条 SQL 语句经 GCluster 层解析分解执行计划后,会产生很多条 SQL 语句下发到 GNode 层,所以在 到 GNode 的日志目录下会产生多个.trc 日志文件,建议 查看执行节点的到 GNode 层的字节数最大的那个.trc文件即可;
  • 一条 SQL 语句的通用的完整执行流程一般如下所述:smart scan -> scan -> join -> aggregation -> sort -> materialization -> send result,包含聚集和排序操作的时候通常无需单独的物化步骤,物化在聚集 和排序过程中已经完成。如果是包含嵌套子查询的复杂 SQL,嵌套子查询从内至外递归执行,每一层的执行顺序与上述过程基本相同;
  • 排查性能问题时,就是查看上面步骤具体是哪个步骤耗时长,定位后再分析 I/O 因素buffer大小对性能影响等信息,看如何优化能提高性能。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论