首页 > 数据库 >性能诊断工具DBdoctor如何快速纳管数据库PolarDB-X

性能诊断工具DBdoctor如何快速纳管数据库PolarDB-X

时间:2024-03-13 11:00:58浏览次数:32  
标签:DBdoctor 数据库 性能 PolarDB 实例 SQL 纳管 节点

DBdoctor 是一款为数据库内核级性能诊断工具,利用eBPF技术深入数据库内核,致力于解决数据库的一切性能问题

近日,DBdoctor(V3.1.0)正式通过了阿里云PolarDB分布式版(V2.3)产品集成认证测试,并获得阿里云颁发的产品生态集成认证。

本文将介绍PolarDB的特性,以及如何快速纳管数据库PolarDB-X。

图片

PolarDB-X 是阿里自主设计的高性能云原生分布式数据库产品,采用 Shared-nothing 与存储分离计算架构,支持集中式和分布式一体化形态,具备金融级数据高可用、分布式水平扩展、混合负载、低成本存储和极致弹性等能力,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

2023年10月份,PolarDB-X 开源正式发布V2.3.0版本,重点推出集中式形态标准版,将DN节点提供单独服务(存计未分离)。在性能场景上,采用生产级部署和参数(开启双1 + Paxos多副本强同步),相比于开源MySQL 8.0.34,PolarDB-X在读写混合场景上有30~40%的性能提升,可以作为开源MySQL的最佳替代选择。

PolarDB-X架构图

图片

PolarDB-X 采用 Shared-nothing 与存储计算分离架构进行设计,系统由4个核心组件组成:

  • 计算节点(CN, Compute Node)

计算节点是系统的入口,采用无状态设计,包括 SQL 解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务 2PC 协调、全局二级索引维护等,同时提供 SQL 限流、三权分立等企业级特性。

  • 存储节点(DN, Data Node)

存储节点负责数据的持久化,基于多数派 Paxos 协议提供数据高可靠、强一致保障,同时通过 MVCC 维护分布式事务可见性。

  • 元数据服务(GMS, Global Meta Service)

元数据服务负责维护全局强一致的 Table/Schema, Statistics 等系统 Meta 信息,维护账号、权限等安全信息,同时提供全局授时服务(即 TSO)。

  • 日志节点(CDC, Change Data Capture)

日志节点提供完全兼容 MySQL Binlog 格式和协议的增量订阅能力,提供兼容 MySQL Replication 协议的主从复制能力。

PolarDB-X基于Paxos的MySQL三副本工作原理:

  • 在同一时刻,整个集群中至多会有一个Leader节点来承担数据写入的任务,其余节点作为follower参与多数派投票和数据同步

  • Paxos的协议日志Consensus Log,全面融合了MySQL原有的binlog内容。在Leader主节点上会在binlog协议中新增Consensus相关的binlog event,同时在Follower备节点上替换传统的Relay Log,备库会通过SQL Thread进行Replay日志内容到数据文件,可以简单理解Paxos Consensus Log ≈ MySQL Binlog

  • 基于Paxos多数派自动选主机制,通过heartbeat/election timeout机制会监听Leader节点的变化,在Leader节点不可用时Follower节点会自动完成切主,新的Leader节点提供服务之前需等待SQL Thread完成存量日志的Replay,确保新Leader有最新的数据。

PolarDB-X技术特点

  • 高性能,采用单Leader的模式,可以提供类比MySQL semi-sync模式的性能

  • RPO=0,Paxos协议日志全面融合MySQL原有的binlog内容,基于多数派同步机制确保数据不丢

  • 自动HA,基于Paxos的选举心跳机制,自动完成节点探活和HA切换。

图片

1)准备已有集中式版本的PolarDB-X

如果只是用于测试验证可以手动进行PolarDB-X安装,可按照以下方式进行安装部署

a)下载

下载地址:

https://openpolardb.com/download

图片

b)PolarDB-X数据库安装和登录

# 依赖包安装

  • pm -ivh t-polardbx-engine-2.3.0-b959577.el7.x86_64.rpmyum install libaio*

# 创建并切换到 polarx 用户

useradd -ms /bin/bash polarxecho "polarx:polarx" | chpasswdecho "polarx ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoerssu - polarx# 创建必要目录mkdir polardbx-enginecd polardbx-engine && mkdir log mysql run data tmp

#创建my.cnf配置文件​​​​​​​

[mysqld]basedir = /opt/polardbx-enginelog_error_verbosity = 2default_authentication_plugin = mysql_native_passwordgtid_mode = ONenforce_gtid_consistency = ONlog_bin = mysql-binlogbinlog_format = rowbinlog_row_image = FULLmaster_info_repository = TABLErelay_log_info_repository = TABLE
# change me if neededdatadir = /home/polarx/polardbx-engine/datatmpdir = /home/polarx/polardbx-engine/tmpsocket = /home/polarx/polardbx-engine/tmp.mysql.socklog_error = /home/polarx/polardbx-engine/log/alert.logport = 4886cluster_id = 1234cluster_info = 127.0.0.1:14886@1
[mysqld_safe]pid_file = /home/polarx/polardbx-engine/run/mysql.pid

#初始化

/opt/polardbx_engine/bin/mysqld --defaults-file=my.cnf --initialize-insecure

#启动

/opt/polardbx_engine/bin/mysqld_safe --defaults-file=my.cnf &

#登录数据库

mysql -h127.0.0.1 -P4886 -uroot 

2)DBdoctor一键安装部署

环境要求:4c8g

下载安装包:

https://www.hisensecloud.com/col.jsp?id=126

解压安装包并执行

./dbd -I

图片

安装成功后登录http://<部署服务的主机ip>:13000

登录账号:tester/Root2023!

详细安装使用文档:

https://www.hisensecloud.com/h-col-144.html

3)DBdoctor纳管PolarDB-X

在部署的PolarDB-X进程层面我们能看到几乎和MySQL的集群一致,DBdoctor可以完全按照MySQL的方式进行纳管。DBdoctor的PolarDB-X纳管是按照集群的DN节点维度进行纳管的(DN在进程层面相当于mysqld),上面三个节点相当于对每个节点进行依次纳管。

图片

a)首先在PolarDB-X上创建数据库账号并授予权限​​​​​​​

create user zx identified by 'Root2023!';GRANT SELECT, PROCESS, SHOW VIEW ON *.* TO 'zx'@'%';

b)在DBdoctor的实例列表页面进行集中式PolarDB-X纳管

切换到‍实例列表的tab,点击实例纳管按钮,进行实例录入。

① 录入实例的主数据库基本信息,并进行连通性检测:

点击“实例纳管”按钮可进行用户已有存量的数据库实例录入 。

  • 可配置该实例的数据库基本信息,包括实例备注、数据库访问地址

  • 可设置数据库实例的账号信息,包括实例的账号和密码

  • 可进行数据库实例的连通性检测

图片

② 配置数据洞察

  • 设置洞察日志存储的天数(默认为10天)

③ 选择采集方式

针对PolarDB-X数据采集方式选择部署Agent,用来采集主机和实例性能数据,锁和审计日志相关当前版本还不支持,后续会考虑对该引擎的适配支持。

图片

agent系统支持说明:目前仅支持X86_64系统,不支持ARM及X86_32服务器

图片

1)开启性能分析

查看实例列表找到PolarDB-X的纳管数据库节点,点击该实例节点的性能分析开关就可以对该实例进行性能洞察功能接管。PolarDB-X的锁分析功能暂未开放(审计日志和4大锁场景诊断),需要后续版本GA后才能支持该功能。

图片

2)查看性能洞察

点击性能洞察按钮进行该实例的性能分析。

图片

点击后可以查看该实例的性能洞察分析结果。

图片

性能洞察的详细功能主要分为下面7个部分:

1)实例搜索:用户可以选择已接管的实例进行性能洞察的功能展示,实例指定时间区间或者近5m、1h、5h、24h、2d的快速时间选择搜索,并可指定刷新频率。

2)关键资源:展示实例关键资源的使用情况来评估是否存在资源瓶颈,显示该实例的DB维度/主机维度的关键资源使用率指标的趋势图,指标包括CPU使用率、MEM使用率、IOPS使用率、DISK Space使用率、连接数使用率。同时展示当前时间区间内的各指标的最大值。

3)业务流量:展示业务的流量指标,包括网络包的进出流量,数据库层面的业务QPS情况。

4)AAS:通过业务的数据库平均活跃会话来展示数据库的负载,同时展示负载中的TOP等待事件。

5)关联SQL:展示AAS负载相关联的根因SQL,同时可以查看该SQL的最差样本,并可以进行执行计划展示。

6)业务负载流量分布:按照用户/来源服务IP维度展示AAS负载,评估数据库负载问题的源头来自哪个业务系统。

7)专家经验库:详细展示性能问题事件的专家经验文档,从原理上解释这一事件是如何产生,应该怎样进行优化。

性能洞察实践:

性能洞察最大特色是可以将上面所有维度的指标性能数据通过时间轴关联起来,并进行分析。比如上面的CPU异常的Case我们只需要4步走即可找到问题SQL根因。

step1:cpu资源指标在15:45~16:20发生抖动,CPU存在打满的情况

step2:在AAS模块中我们能看到数据库的活跃会话数在这一时间区间内远超Max vCPU水位线,说明存在性能瓶颈

step3:可以看到性能瓶颈的事件是Sending data(即绿色颜色事件),而这一颜色在AAS趋势图中占的面积最大,点击事件也可以看到最右边的专家经验文档。

step4:基于这个面积最大颜色的事件,我们能找到绿色颜色的SQL为第一条,即导致CPU飙高的根因SQL。点击展开这个SQL可以展示这个SQL的最差样本,点击执行计划发现扫描全表扫描4w多行,对SQL进行添加索引即可。

图片

为了给您提供更进一步的服务,我们邀请您关注【DBdoctor服务】公众号,后台回复“进群”即可加入我们的技术交流群,进群用户可免费获得一个月的高阶 License。同时群内还会不定期发送问卷抽奖活动,您将有机会获得一年期的企业版License(DBdoctor全部功能免费使用一年+纳管10个实例+免费MySQL专家服务),现在进群可优先获得哦~

图片

建议您在PC端打开,体验更佳~

1️⃣ 下载地址:

海信聚好看云服务—值得托付的人工智能互联网科技平台 - 海信聚好看云服务

2️⃣ 在线试用:

https://dbdoctor1.hisensecloud.com

(关注公众号,点击在线试用获取试用环境专属账号密码)

3️⃣ 如何部署:

http://hisensecloud.com/h-col-133.html

4️⃣ 产品介绍:

DBdoctor,致力于解决数据库的一切性能问题

标签:DBdoctor,数据库,性能,PolarDB,实例,SQL,纳管,节点
From: https://blog.csdn.net/DBdoctor_off/article/details/136655796

相关文章

  • 数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性​!
    体验地址:https://developer.aliyun.com/topic/march/polardbserverless本次基于阿里云瑶池数据库解决方案体验馆,带你体验PolarDBMySQLServerless形态下的性能压测环境,基于可选择的标准压测工具进行压测,构造弹性场景进行压测,实时动态展示弹性能力、价格和性价比结果,压测环境可开......
  • 2024年2月中国数据库排行榜:PolarDB夺魁首登顶,TiDB攀升回探花
    银装素裹覆大地,春意初醒待来临。2024年2月墨天轮中国数据库流行度榜单出炉,表现最亮眼的无疑是PolarDB,其自23年7月以来一路高歌猛进,此次更是一举夺魁,彰显了云原生数据库的蓬勃发展态势,OceanBase、TiDB紧接拿下榜眼探花。榜单前十中,开源与商业平分秋色、各家数据库乘云直上,你追我赶......
  • 选 300 平米别墅还是 90 平米小平层?一文带你读懂 PolarDB 分布式版集分一体化
    作者:楼江航(七锋) 日前,在阿里云PolarDB开发者大会上,阿里云PolarDB分布式产品部负责人黄贵发表了《分布式的PolarDB:分布式的能力,一体化的体验》主题演讲。黄贵表示,PolarDB分布式版(PolarDBforX-scale,简称“PolarDB-X”)早期一直聚焦分布式形态,我们在2023年10月公共云......
  • 最新中国数据库排行出炉:阿里自研PolarDB首次登顶!
    今天,数据库社区“墨天轮”发布了最新的一期中国数据库流行度排行榜,阿里云自研云原生数据库PolarDB首次登顶,并刷新了榜单总分纪录。该榜单根据搜索引擎数据、核心案例数、资质数量、专利数、论文数等标准,对目前主流的国产数据库进行综合评比,体现了数据库在互联网上的流行度。在2024......
  • 最新中国数据库排行出炉:阿里自研PolarDB首次登顶!
    今天,数据库社区“墨天轮”发布了最新的一期中国数据库流行度排行榜,阿里云自研云原生数据库PolarDB首次登顶,并刷新了榜单总分纪录。该榜单根据搜索引擎数据、核心案例数、资质数量、专利数、论文数等标准,对目前主流的国产数据库进行综合评比,体现了数据库在互联网上的流行度。在20......
  • 2024最新一期中国数据库流行榜公布:阿里云PolarDB登顶
    2月1日,数据库社区“墨天轮”公布了2024年最新一期中国数据库流行度排行榜,阿里云瑶池旗下的自研云原生数据库PolarDB夺冠,并刷新榜单总分纪录。墨天轮评价称,因云而生的PolarDB数据库以客户需求为导向,并在业界开创性地落地“三层解耦”架构、多主多写、HTAP、Serverless、集......
  • 业界声音|PolarDB 最值得关注的技术创新有哪些?
    文章来源于韩锋频道作者:韩锋,SphereEx公司联合创始人  近日受邀参加首届「PolarDB开发者大会」,这也国内数据库厂商越来越重视生态建设的表现,特别是数据库主要的受众-开发者,他们的声音对产品的发展至关重要。在本次会议上,阿里云重磅发布了中国首款自研云原生数据库Pol......
  • 喜报|「云原生数据库 PolarDB」、「阿里云瑶池一站式数据管理平台」揽获“2023 技术卓
    日前,国内知名IT垂直媒体&技术社区IT168公布2023年“技术卓越奖”评选结果,经由行业CIO/CTO大咖、技术专家及IT媒体三方的联合严格评审,阿里云瑶池数据库揽获两项大奖:云原生数据库PolarDB荣获“2023年度技术卓越奖”,阿里云瑶池一站式数据管理平台荣获“2023年度创新解......
  • 媒体声音|PolarDB 再升级:欢迎来到云数据库 x AI 新时代
    以下文章来源于产业家,作者产业媒体 作者|思杭编辑|皮爷出品|产业家 “搭积木”、“自动驾驶”、“三层解耦”,这些形象的标签成了1月17日阿里云开发者生态大会当天最出圈的词汇。 会上,一名小学生受邀上台演示了数据库查询的场景。一种“全民编程”的气氛向现场观众......
  • 阿里云 PolarDB 开发者大会首度召开,让数据库开发像“搭积木”一样简单
    1月17日,首届阿里云PolarDB开发者大会在京举办,中国首款自研云原生数据库PolarDB发布“三层分离”全新版本,基于智能决策实现查询性能10倍提升、节省50%成本。面向开发者,阿里云全新推出数据库场景体验馆、训练营等系列新举措,广大开发者可率先免费体验PolarDB数据库核心特......