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。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/486039.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣hot100:994. 腐烂的橘子(多源BFS)

这是一个典型的多源BFS问题,如果初学数据结构的同学,可能第一次不能想到,但是如果做过一次应该就能运用了。      主要思路大概是初始时,多个点进入队列然后进行BFS。将某一等价集合视作同一个起始点(超级源点&…

阿里二面:Java中锁的分类有哪些?你能说全吗?

引言 在多线程并发编程场景中,锁作为一种至关重要的同步工具,承担着协调多个线程对共享资源访问秩序的任务。其核心作用在于确保在特定时间段内,仅有一个线程能够对资源进行访问或修改操作,从而有效地保护数据的完整性和一致性。…

kvm虚拟化

kvm虚拟化 1. 虚拟化介绍 虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。 物理机我们一般称为宿主机(Host&…

arm 外部中断

main.c: #include"key_inc.h" //封装延时函数 void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j){}} } int main() {//按键中断的初始化key1_it_config();key2_it_config();key3_it_config();while(1){printf("in main pro\n");delay(1…

(人才测评)自媒体运营的招聘入职测评方案

互联网如今发展的如此之快&#xff0c;各种信息爆炸&#xff0c;各种手机游戏量产的时代&#xff0c;除此之外还有一些新兴的岗位诞生&#xff0c;那就是自媒体行业&#xff0c;可以说有了互联网&#xff0c;只要你想做&#xff0c;一个人也可以在网络上发布有趣搞笑的视频&…

WPF使用外部字体,思源黑体,为例子

1.在工程中新建文件夹&#xff0c;命名为“Font"。 2.将下载好的字体文件复制到Font文件夹。 3.在工程中&#xff0c;加入静态资源 <Window.Resources><FontFamily x:Key"SYBold">/AnalyzeImage;Component/Font/#思源黑体 CN Bold</FontFamily…

Ecmascript 和javascript的区别

ECMAScript 是什么&#xff1f; 想象一下&#xff0c;ECMAScript&#xff08;简称ES&#xff09;是个“剧本”&#xff0c;规定了“舞台剧”的基本表演规则和动作。在这个比喻中&#xff0c;“舞台剧”就是我们常说的JavaScript。ECMAScript是由欧洲计算机制造商协会&#xff0…

【保姆级教程】YOLOv8_Cls图像分类:训练自己的数据集

一、YOLOV8环境准备 1.1 下载安装最新的YOLOv8代码 仓库地址&#xff1a; https://github.com/ultralytics/ultralytics1.2 配置环境 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple二、数据准备 我这里准备了猫和狗的图片&#xff0c;按类别…

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读&#xff1a; 文献摘要 现有问题 研究目的及方法 PINN的设置 NS方程介绍 损失函数 训练方法 实验设置 对照组设置 实验结果展示 点云数、隐藏层数和每个隐藏层的节点数对PINN精度的影响 点云数对PINN的影响&#xff1a; 隐藏层数的影…

喜欢我中文编程吗?这么喜欢中文编程哥们给你来点关键字呗

// chinese_commands.h 太优雅了哥们// 变量类型 #define 整型 int #define 浮点型 float #define 双浮点型 double #define 字符 char #define 长整型 long #define 自动 auto #define 布尔 bool// 修饰符 #define 静态 static #define 常量 const #define 虚拟 virtual #defi…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.4

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第二周&#xff1a;神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression)2.3 逻辑回归的代价函数&#xff08;Lo…

C++基础之继承(十五)

一.继承的定义 当一个派生类继承一个基类时&#xff0c;需要在派生类的类派生列表中明确的指出它是从哪个基类继承而来的。类派生列表的形式如下&#xff1a; class 派生类 : public/private/protected 基类 { }&#xff1b; 派生类生成的三个步骤&#xff1a; 吸收基类成员…

如何恢复回收站被清空的文件?3个宝藏方法大公开!

“怎么办&#xff1f;不小心把回收站里的文件都清空了&#xff0c;现在没法找回我的重要数据了&#xff0c;有什么比较好的方法吗&#xff1f;快来帮帮我吧&#xff01;” 回收站作为Windows系统中的一个重要功能&#xff0c;可以帮助我们暂时存放删除的文件和文件夹&#xff0…

数据结构——树与二叉树

目录 树与二叉树 1.树的定义 2.树的有关术语 3.二叉树&#xff08;BinaryTree&#xff09; 二叉树的性质&#xff1a; 特殊的二叉树 满二叉树&#xff1a; 完全二叉树 二叉树的存储结构 顺序存储结构 链式存储结构 二叉树以及对应接口的实现 1.二叉树架构搭建 2…

PSO-CNN-BiLSTM多输入分类预测|粒子群优化算法-卷积-双向长短期神经网络分类预测|Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&am…

【Python机器学习系列】机器学习中的模型微调---随机搜索(案例+源码)

这是我的第245篇原创文章。 一、引言 如果探索的组合数量较少时&#xff0c;网格搜索是一种不错的方法&#xff0c;但当超参数的搜索范围较大时&#xff0c;通常会优先选择使用 RandomizedSearchCV 。它与 GridSearchCV 用法相似&#xff0c;但它不会尝试所有可能的组合&…

智能医疗-行业痛点

信息来源渠道少 病患只能从特定时间巡房的医护处了解病情&#xff0c;信息来源渠道少&#xff0c;了解信息内容有限。 床头卡老旧&#xff0c;信息更新不及时 每位医护人员负责的床铺数量多&#xff0c;床头卡更新频率快&#xff0c;替换纸质床头卡需打印、手写、张贴等一系列…

发展规划--IM系统

1、时代背景 5G应用&#xff0c;多终端应用&#xff0c;物联网应用&#xff0c;小程序&#xff0c;工业互联&#xff0c;大数据应用等等大前端时代的到来&#xff0c;程序员不能只关注crud&#xff0c;因为以后的服务并发量只会越来越多。 高并发架构师、大数据架构师或者说j…

ABC346 A-G 题解

ABC346 A-G题解 A题目AC Code&#xff1a;时间复杂度 B题目时间复杂度AC Code&#xff1a; C题目时间复杂度AC Code&#xff1a; D题目时间复杂度AC Code&#xff1a; E题目时间复杂度AC Code&#xff1a; F题目时间复杂度AC Code&#xff1a; G题目时间复杂度AC Code&#xff…

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL

关于四篇GNN论文的阅读笔记PPT&#xff1a;包括GATNE&#xff0c;AM-GCN&#xff0c;HGSL和coGSL 前言GATNEAM-GCNHGSLcoGSL 前言 这里的PPT主要是在跟Graph Transformer一起的&#xff1a; 【图-注意力笔记&#xff0c;篇章1】Graph Transformer&#xff1a;包括Graph Trans…