GaussDB WDR分析之节点篇与点评分析

2024-03-25 14:04
文章标签 分析 节点 wdr 点评 gaussdb

本文主要是介绍GaussDB WDR分析之节点篇与点评分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天继续介绍GaussDB的WDR报告,我们今天分析一下CN/DN节点的报告。昨天分析集群报告的时候发现集群报告里缺乏一些DBA分析问题所需要的数据,今天我们来看看是否在节点的报告里能够找到它们。GaussDB的节点报告格式都差不多,只不过CN/DN节点的功能有所不同,CN节点主要负责会话接入、SQL解析、数据汇总等工作,而DN节点负责执行计划子任务的执行和表数据的管理,因此报告中的数据会差别较大。 

Summary中的实例命中率依然只有buffer hit这个对于GaussDB·来说并不是特别需要关注的命中率指标。随后是Top 10 Events,等待事件。等待事件是Oracle DBA习惯用来分析问题的常用工具。虽然GaussDB的等待事件种类没有Oracle上千种那么多,不过400多种等待事件在国产数据库中也算是比较丰富了。特别值得注意的是GaussDB的等待事件统计信息比较完备,不需要像一些开源或者国产数据库一样,只能通过会话信息的瞬间值来采集等待事件。因此WDR中的等待事件的参考价值就比较大。    

对于GaussDB的等待事件,目前DBA比较困惑的是如何进行解读,不像Oracle已经在MOS上对各种等待事件提供了十分丰富的知识库,GaussDB的等待事件相关的知识十分欠缺。

为此,我们在D-SMART中针对GaussDB的等待事件构建了一个知识图谱,利用知识图谱对等待事件情况进行分析。

是不是看着这个分析内容就舒服多了。对于Oracle的等待事件,因为MOS丰富的知识库的存在,DBA可以很方便地从中找到相关的资料,从而继续自己的问题分析,找到答案。哪怕找不到答案,也可以通过开SR的方法获得Oracle的线上售后服务支持,从而完成分析。目前GaussDB还没有构建起完善的知识库体系和线上服务体系,因此仅仅列出等待事件对DBA的帮助不大,因为大部分DBA看不懂这些东西,甚至可能GaussDB的原厂工程师都很难解读这些数据。在报告里如果能够增加一些等待事件说明甚至自动生成一些分析结论,会对DBA更有价值。    

紧跟在后面的是Wait Classes,GaussDB的Wait Classes是PG Wait Classes的延续,分类太少导致这些指标的指向性不足,很少有DBA能从GaussDB的Wait Classes中发现问题。其实Oracle的Wait Classes的分类也不算特别出色,不过比起GaussDB还是要好不少,起码能够对IO,负载,并发,CPU等有个起码的分类。

后面的几项,Host CPU中规中矩,IO PROFILE参考价值有限,内存情况也很粗略,不过这属于summary信息,可能有价值的信息在后面。

 

详情中的Time Model是个亮点,在国产数据库的AWR报告中,我也经常会看到Time Model的内容,这是从Oracle学习来的一个反映数据库负载与性能特征的特征数据集。可能很多DBA不太关注这些数据,不过在Oracle开始提供Time Model后,我就开始关注它了。虽然对于不同的数据库,Time Model差别很大,甚至同一个数据库在不同的负载下Time Model也截然不同,但是Time Model是可以反映出数据库系统的负载与性能情况的十分好的指标集。利用智能化分析的算法处理Time Model会有很好的效果。不过Time Model的数据只有十分准确才有使用价值,很多数据库虽然有Time Model,但是数据不准确,那就只是一个样子货。    

CN节点的TOP SQL和Cache IO Stats、Object Stats等章节和集群类似,这里就不多说了。等待事件详情也算是中规中矩吧,缺点是没有计算百分比,看上去不够直观。优点是有最大等待时长的字段。只不过不大了解这个最大等待时长是在报告期间的还是数据库启动以来的。从我对基础指标数据的理解,这个值应该是数据库启动以来的。

 

最后是参数设置,这个参数设置的显示章节可读性一般,因为GaussDB参数数量太多了,如果把重要参数、非默认参数,以及在报告期间有过变化的参数分别列一个列表,那么易读性就好多了。

看完了三份WDR报告,可以看出与O记的AWR报告相比,WDR报告还缺失很多内容。1)ADDM和ASH分析,实际上GaussDB有类似Oracle ASH的ASP数据,因此ASH分析实现起来并不困难。GaussDB也有Time Model,因此做ADDM报告难度也并不大,这两个内容完全可以提供出来;2)CHECKPOINT详情;3)共享内存详细分析;4)锁/分布式事务分析;5)LWLOCK性能分析。

前面大家可能跟着我大致了解了GaussDB WDR报告的大致情况。作为一个看过数千份甚至更多AWR报告的老DBA,对WDR报告的评价是有用,但是不好用,或者说用途有限。对于了解GaussDB的DBA来说,等待事件、指标数据、TOP SQL等可以为他们提供一些有价值的数据,用于问题分析。但是GaussDB的WDR报告和其他几乎所有的国产数据库的“AWR报告”一样,仅仅是对Oracle AWR的模仿,而并非真正能够帮助DBA诊断疑难杂症的好工具。我想WDR报告的产品经理恐怕也无法使用这份报告远程帮用户定位复杂的性能问题或者定位BUG吧。    

其实现在大家能够很好地利用Oracle AWR报告分析问题一方面是Oracle的AWR报告做得越来越好,在每个版本出来的时候,易读性都有大幅提升。另外一方面是MOS网站的存在让分析AWR报告变得更加方便。而国产数据库的“AWR报告”在内容上大多数仅仅达到了Oracle 8I的水平,甚至数据的详细程度还大不到Oracle 8i STATSPACK报告水平,又缺乏MOS这样的知识库可供搜索,那么这些报告的作用就十分有限了。

另外一个方面,国产数据库,特别是分布式数据库,在架构上和技术路线上都有巨大的不同,因此O记“AWR报告”并不一定是好的模仿对象。国产数据库的AWR报告照抄O记并不一定是个好的路数。分布式数据库在集群健康状态、集群稳定性、网络稳定性、选主决策健康度、集群节点负载均衡性等方面都需要认真关注,这些内容都是Oracle AWR报告中看不到的。

以今天分析的GaussDB为例,要想让WDR报告能够给DBA帮助,那么还是要从GaussDB的运维角度出发来设计WDR报告的内容。GaussDB在各种运行负载中会有哪些需要关注的指标和统计数据?GaussDB的一些典型故障场景中会有哪些典型的表现?GaussDB DBA关注哪些指标数据?GaussDB DBA能够利用GaussDB的可观测性能力分析哪方面的数据库问题?那么我们就应该提供这些数据给他们。如果WDR报告这么去设计,才真正会对DBA有价值。    

最后一点,因为国产数据库还没有建立起Oracle MOS这样的知识库,因此在自己的AWR报告中能够对一些等待事件、指标做一一些标注,让阅读报告的人哪怕没有看过数据库的官方文档也能够很快理解某些异常的指标和等待事件,这种报告就更易读了。在你没有MOS这样的知识库之前,别和我说Oracle的AWR报告里也不提供这些内容。

 

本文内容来自于徐戟(白鳝)老师,南京基石数据技术有限责任公司技术总监。曾供职于DEC深圳研发中心、赛格计算机有限公司、长天集团、联想金融事业部等。在软件开发、系统运维、信息系统优化、信息系统国产化替代等领域从事技术研究近30年,曾主持开发了国内首套电信级联机实时计费系统、国内首套三检合一的检验检疫管理系统、银行综合大前置平台(IPP)等大型系统。著有《Oracle RAC日记》、《Oracle DBA优化日记》和《DBA的思想天空》等技术专著。深圳市鲲鹏产业联盟高级顾问,Oracle ACE,POSTGRESQL ACE DIRECTOR。 

这篇关于GaussDB WDR分析之节点篇与点评分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/845238

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断