GaussDB(DWS)TopSQL总结

举报
nullptr_ 发表于 2023/08/01 10:07:23 2023/08/01
【摘要】 一、TopSQL 背景TopSQL为DWS的监控系统,记录DWS中各个作业、算子级别的资源使用数据、耗时数据,包括下盘信息、内存、网络、耗时、警告、基础信息等作业执行的数据。 二、TopSQL 简介TopSQL分为实时表和历史表,实时表主要展示系统当前的负载情况,历史表主要用于存储作业执行的历史情况。历史表主要用于历史问题的分析回溯和问题定位、实时表主要用来展示当前系统中作业执行情况,让系...

一、TopSQL 背景

TopSQL为DWS的监控系统,记录DWS中各个作业、算子级别的资源使用数据、耗时数据,包括下盘信息、内存、网络、耗时、警告、基础信息等作业执行的数据。

二、TopSQL 简介

TopSQL分为实时表和历史表,实时表主要展示系统当前的负载情况,历史表主要用于存储作业执行的历史情况。历史表主要用于历史问题的分析回溯和问题定位、实时表主要用来展示当前系统中作业执行情况,让系统现场更加直观,为运维工作带来了极大的方便。

三、TopSQL 功能介绍

  • 主要视图

  • 前提条件(参数介绍)

    • enable_resource_track topsql开关,是否开始topsql功能
    • resource_track_level 设置监控级别,query:类似于sql的explain输出信息,perf:类似于explain analyze输出信息,operator_reltime: 统计实时算子信息,operator:详细记录到每个算子的执行信息,并且层级为向下兼容 query->perf->operator_reltime->operator
    • resource_track_cost topsql追踪执行时间大于等于resource_track_cost 的作业
    • enable_track_record_sql 控制是否记录存储过程、匿名块内部的语句
    • enable_track_record_subsql 控制是否记录存储过、匿名块内部语句
    • resource_track_subsql_duration 过滤执行时间小于resource_track_subsql_duration的语句
  • 字段含义介绍(重点功能作用)



  • 类型介绍

  • 值异常分析

  • 当作业因为异常例如某DN挂了,作业会重新开始,topsql会记录两条记录

四、TopSQL 重点逻辑梳理剖析

在DN通过打桩定期记录作业的实时信息,并将记录定期发送至CN,并将信息定期存储至实时表中pgxc_wlm_session_statistics中,并定时将实时表中的作业落盘到历史表中pgxc_wlm_session_info中,此过程为了减少阻塞将记录放到无锁队列中,无锁队列提供了记录的CAS原子操作,然后定期读取无锁队列中的内容进行转储,pgxc_wlm_session_info通过start_time进行分区,每天一个分区,通过参数topsql_retention_time配置默认保留30个分区即30天的记录,定期对pgxc_wlm_session_info的分区进行清理、创建。此过程在dws中有单独的线程运行,对系统的影响较小。无锁队列大小是有上限的,如果转储处理的速度赶不上生成的速度那么作业也会被丢弃。

  • 历史
    当前pgxc_wlm_session_history只包含最近3分钟的数据且数据来源实际是pgxc_wlm_session_info。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。