首页 > 其他分享 >GaussDB WDR报告分析

GaussDB WDR报告分析

时间:2024-12-27 11:10:19浏览次数:6  
标签:期间 快照 报告 GaussDB Time us WDR SQL CPU

问题描述

CPU使用率高。

问题现象

出现CPU使用率超过阈值,CPU使用率快速上涨或短时间持续较高水平等现象。

告警

CPU使用率告警。

业务影响

CPU使用率高集群响应变慢。

原因分析

  1. 期间业务压力增大导致。
  2. 出现CPU耗时较多的SQL。

处理方法

步骤 1

查看监控是某个节点的CPU高还是集群整体CPU高,如果是整体CPU高生成集群级别wdr报告,如果是某个节点则生成节点级wdr报告。

步骤 2

首先查看当前已有的wdr报告快照。

select * from snapshot.snapshot order by start_ts desc;

步骤 3

生成wdr报告需要两个snapshot_id,根据需要对比的两个时间段选取对应的snapshot_id,调整输出格式,gsql界面输入:
\a \t \o + 生成文件名(html文件)

步骤 4

如果是要生成节点级的报告则执行:

select generate_wdr_report(snapshot_id1, snapshot_id2, ‘all’, ‘node’, 节点名称)

如果要生成集群级别报告则执行

select generate_wdr_report(snapshot_id1, snapshot_id2, ‘all’, ‘cluster’)

其中snapshot_id1和snapshot_id2按照时间从小到大的顺序写入上面分析出来的要生成报告的两个id,节点名称可以通过登录到问题节点执行show pgxc_node_name获取。
对应节点级别报告主要关注Top 10 Events by Total Wait Time和SQL ordered by CPU Time部分,集群级别主要关注SQL ordered by CPU Time部分,在wdr报告中搜索即可。
在这里插入图片描述
在这里插入图片描述

步骤 6

CPU使用率较低期间的wdr报告和较高期间的wdr报告个一份,这里已节点级别为例,集群级别只需要按照SQL ordered by CPU Time部分分析,分析方式一样。

步骤 7

Top 10 Events by Total Wait Time部分包含两个快照期间的主要等待事件,可以进行大致分析是否存在大量CPU耗时较高的等待事件例如文件数据读取,快照期间主要等待事件,如果通过对比发现CPU高期间的文件读事件明显变多,则说明此期间SQL执行读取数据上上涨导致的CPU耗时上涨。如果是各项等待事件都有一定幅度上涨则可能是集群压力上涨导致,具体是那一部分SQL则需要分析SQL ordered by CPU Time部分。

步骤 8

对比两份报告SQL ordered by CPU Time部分的CPU Time(us)差异,一般对比前10个即可,这里介绍一下此部分的主要构成。

  • Unique SQL Id:对应unique_sql_id,可以通过此id去数据库查询使用此模板的SQL的其他数据,例如通过summary_statement查询总体语句的调用情况。
  • Node Name:节点名称。
  • User Name:用户名。
  • CPU Time(us):两个快照期间的CPU耗时Calls:两个快照期间的语句调用次数。
  • Min Elapse Time(us):SQL在内核内的最小运行时间,注意这是整体的最小解析时间不是此快照期间的最小。
  • Max Elapse Time(us):SQL在内核内的最大运行时间,注意这是整体的最大解析时间不是此快照期间的最小。
  • Total Elapse Time(us):两个快照期间此语句的SQL在内核内的总运行时间时间。
  • Avg Elapse Time(us):两个快照期间此语句的SQL在内核内的平均运行时间时间。
  • Returned Rows:两个快照期间此语句的SELECT返回的结果集行数。
  • Tuples Read:两个快照期间访问的元组数量。
  • Tuples Affected:两个快照期间Insert/Update/Delete行数。
  • Logical Read:两个快照期间的逻辑读数。
  • Physical Read:两个快照期间的物理读数。
  • Data IO Time(us):两个快照期间IO上的时间花费。
  • Sort Count:两个快照期间的排序执行的次数。
  • Sort Time(us):两个快照期间的排序执行的时间。
  • Sort Mem Used(KB):两个快照期间的排序过程中使用的work memory大小(单位:KB)。
  • Sort Spill Count:两个快照期间的排序过程中,若发生落盘,写文件的次数。
  • Sort Spill Size(KB):两个快照期间的排序过程中,若发生落盘,使用的文件大小(单位:KB)。
  • Hash Count:两个快照期间的hash执行的次数。
  • Hash Time(us):两个快照期间的hash执行的时间(单位:微秒)。
  • Hash Mem Used(KB):两个快照期间的hash过程中使用的work memory大小(单位:KB)。
  • Hash Spill Count:两个快照期间的hash过程中,若发生落盘,写文件的次数。
  • Hash Spill Size(KB):两个快照期间的hash过程中,若发生落盘,使用的文件大小(单位:KB)。
  • SQL Text:这里显示的SQL语句只有一部分,完整的SQL需要点击Unique SQL Id跳转到完整SQL处。

步骤9

如果发现CPU高期间报告的CPU Time(us)前面几个的SQL明显不同且CPU耗时较大,则原因可能为CPU高耗时SQL调用量上涨导致,如果需要分析为什么此SQL的CPU耗时高则可以参考步骤11。
在这里插入图片描述

步骤 10

如果两个报告前10个Unique SQL Id对比几乎相同,此时看SQL对应的CPU耗时和ncalls,如果calls上涨则说明是业务压力增大导致的CPU上涨,如果calls没有上涨,则需要分析为什么同一条SQL在此阶段的CPU耗时上涨,跳转步骤11。

步骤 11

在语句和调用次数没有变化的情况下,如果是查询语句看此SQL模板的Returned Rows和Physical Read,如果数量有明显增长则说明此SQL读写的数据量增大导致的CPU压力上涨,一般有两种情况,部分特殊值的情况下扫描数据量大或者计划发生改变导致扫描数据量变大。如果是写语句则可以看Tuples Affected是否有明显增加,一般读取数据比较耗CPU,如果是语句本身影响的主要围绕数据读取方面进行对比。

步骤 12

如果两个快照的数据几乎相同,可以通过火焰图或者长事务做进一步分析。

标签:期间,快照,报告,GaussDB,Time,us,WDR,SQL,CPU
From: https://www.cnblogs.com/xiaoxu0211/p/18635140

相关文章

  • GaussDB SQL基础语法-变量&常量
    一、前言SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。二、GaussDB数据库中的常量和变量的基本概述及语法定义数据库中的变量和常量是两种重要的数据......
  • 基于Multisim电风扇控制电路的设计(含仿真和报告)
    【全套资料.zip】电风扇控制电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件资料下载【Multisim仿真+报告+讲解视频.zip】功能电风扇控制电路1、具有弱中强三档位。2、分为睡眠风、自然风。3、具有正常模式、睡眠模式、自然模式。......
  • 基于Multisim电容测量电路的设计(含仿真和报告)
    【全套资料.zip】电容测量电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件资料下载【Multisim仿真+报告+讲解视频.zip】功能1、三位数码管显示。2、自动测量1-999uf电容。提示:以下仿真可以完美运行,全套资料可下载一、Multisim仿真源......
  • 基于Multisim五位数字秒表电路的设计(含仿真和报告)
    【全套资料.zip】五位数字秒表电路设计Multisim仿真设计数字电子技术文章目录功能一、Multisim仿真源文件资料下载【Multisim仿真+报告+讲解视频.zip】功能五位数字秒表电路1、具有启动、暂停、清零功能。2、秒表计时范围0-99999。3、秒/毫秒可以调节。提示:......
  • GaussDB 数据库实验环境搭建指导
    @目录简介内容描述实验环境说明1GaussDB数据库购买1.1实验介绍1.1.1关于本实验1.1.2实验目的1.2购买GaussDB数据库1.2.1登录华为云1.2.2购买华为云GaussDB数据库简介本指导书适用于在华为云部署购买GaussDB数据库,通过该指导书可以顺利完成GaussDB数据库在华为云的购买。......
  • 优化大宽表查询性能,揭秘GaussDB(DWS) 谓词列analyze
    本文分享自华为云社区《GaussDB(DWS)谓词列analyze揭秘》,作者:SmithCoder。1.前言适用版本:【9.1.0.100(及以上)】​当前GaussDB(DWS)中存在手动analyze,查询触发的动态analyze,以及后台线程的轮询analyze三种触发形式,其中动态analyze又分为light模式和normal模式,light模式是基于内......
  • LOGIC 5.0版本软件测试报告
    软件测试报告2024年12月24日1.引言1.1测试目的测试数字电路模拟游戏的各项功能是否按照设计要求正确实现,确保软件在不同使用场景下的稳定性和可靠性。功能性验证:检查游戏提供的所有功能是否按预期工作,包括但不限于界面跳转、保存与加载进度、各个元件的操作逻辑等。BUG发......
  • 阅读报告 Phys. Rev. Lett. 130, 177001 (2023).
    摘要:本文为CollectiveTransportforNonlinearCurrent-VoltageCharacteristicsofDopedConductingPolymers,Phys.Rev.Lett.130,177001(2023)的阅读报告.文章中的参考文献均来自于文章Phys.Rev.Lett.130,177001(2023)底下的参考文献.报告正文:1.实验观测到......
  • 阅读报告 Science385,1318-1321(2024).
    论文:WenxuanJia etal.,Squeezingthequantumnoiseofagravitational-wavedetectorbelowthestandardquantumlimit.Science385,1318-1321(2024).DOI:10.1126/science.ado8069引力波是时空的涟漪,让空间发生微弱的扭曲,它的强度极弱.在测量引力波的时候,任何一......
  • 1225. 报告系统状态的连续日期 - 力扣(LeetCode)
    目录1.力扣链接2.题目3.分析4.代码实现5.代码验证6.总结1.力扣链接1225.报告系统状态的连续日期-力扣(LeetCode)2.题目表:Failed+--------------+---------+|ColumnName|Type|+--------------+---------+|fail_date|date|+-----......