GBase8a查看trace日志
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 -> sen
d result,包含聚集和排序操作的时候通常无需单独的物化步骤,物化在聚集 和排序过程中已经完成。如果是包含嵌套子查询的复杂 SQL,嵌套子查询从内至外递归执行,每一层的执行顺序与上述过程基本相同;排查性能问题时,就是查看上面步骤具体是哪个步骤耗时长,定位后再分析 I/O 因素buffer大小对性能影响等信息,看如何优化能提高性能。
评论
热门帖子
- 12025-12-01浏览数:182764
- 22023-05-09浏览数:25062
- 42023-09-25浏览数:18526
- 52020-05-11浏览数:17529