第13届PG大会精彩演讲『DBdoctor,基于eBPF的数据库性能可观测解决方案 』(附PPT和视频下载)

2024年7月12日-13日,第13届PostgreSQL中国技术大会在杭州成功举办。本次大会吸引了众多企业代表、行业技术大咖、专家学者以及数据库技术爱好者的参与。他们在会议期间围绕大会主题,分享了他们在数据库领域的最新研究成果和实践经验。

作为在数据库技术领域,率先掌握前沿eBPF技术的企业,7月13日上午,DBdoctor产品负责人郑祥受邀在大会『行业应用』分论坛中发表主题演讲:《DBdoctor:基于eBPF的数据库性能可观测性解决方案》

图片

本次主题演讲,郑祥从数据应用角度展开,就基于eBPF的PostgreSQL可观测性解决方案展开详细讲解。利用eBPF拿到了细粒度的监控数据,这些数据该如何应用?eBPF+PostgreSQL的结合又将擦出哪些火花?业界独有的参数调优原理包含哪几个方面?本此演讲都做了详细解读,感兴趣的小伙伴可仔细阅读本文!

以下是演讲主要内容,文末附演讲PPT和现场视频获取方式。

一. 演讲思路

图片

二. 数据库性能痛点

在使用数据库过程中,性能问题是第一大痛点。大促前都做巡检了,但关键时候还是出现问题。SQL审核通过了,但上线前还是会瑟瑟发抖,发布后会不会有问题?

图片

监控平台存在以上问题时,业界数据库厂家也有相关解决方案,大多数还是基于系统表、慢日志等数据进行诊断,此方法具有一定效果,但是存在场景覆盖不全,问题发生时还是需要花费大量的人力去排查根因。要想彻底解决该问题还是需要采集更多精细化的数据。

行业内PostgreSQL的秒级监控主要有两种方式,第一种方式按照一定频率来打点采样,但该方式会存在丢失关键数据,同时基于数据库自带的指标不足以支撑精确诊断。第二种方式在数据库内核源码处进行打点或者开发plugin来实现更多指标的采集,但该种方式对源码有侵入,数据库升级等操作可能导致plugin不能用等问题,维护成本高。

图片

那有没有更优的方式?DBdoctor基于eBPF技术+数据量化模型重新定义数据库可观测,打破采样或内核定制的传统,可以采集全量SQL的完整执行过程(有更多的精细化指标数据),同时又可以做到不更改数据库源码实现内核可观测。

图片

三. eBPF的技术优势

 DBdoctor的理念致力于实现DB AGI。DBdoctor的核心思路:基于eBPF技术采集探测数据库SQL的完整执行过程,采集资源消耗、锁事件、事务维度的全量SQL、Cost统计信息等更细粒度的数据,实现性能问题可量化,精准定位问题根因SQL,并提供最佳优化建议。

图片

eBPF技术的应用主要还是在网络层面,DBdoctor是在数据库领域首家将eBPF技术应用在数据库性能诊断上,去年DTCC大会我们首次对外发布eBPF在数据库领域MySQL的落地。那么eBPF在PostgreSQL上有哪些场景可以落地?这里我们整理了以下落地场景,包括根因诊断、SQL优化、参数调优、SQL流量COPY等。DBdoctor当前的PosgreSQL聚焦在性能这块,目前对外的功能包括根因诊断和SQL优化场景。

图片

探测PosgreSQL主要分为5个步骤:

1、需要熟悉内核源码,找到合适的函数进行探测

2、编写eBPF程序给函数加探针

3、当执行SQL调用到探针函数,对函数中的数据进行结构定义和存储

4、用户态从内核态的存储中读取数据,完成指标的采集

5、将采集到的数据投递出去,比如投递到消息队列

图片

eBPF的探测功能实现比较简单,难点适配成本比较高,需要确认源码探测的函数高低频、内核kernel版本、ARM CPU架构、数据库源码小版本等多种因素,比如PostgreSQL的小版本有400+个版本,工作量非常大。eBPF目前主要有四种方式来探测PostgreSQL,USDT(Dtrace)、Uprobe、Kprobe、Tracepoint,可根据实际场景情况来选择对应的探针。

图片

 下面我们来看下DBdoctor在PostgreSQL有哪些创新点?

创新点1:基于eBPF采集代替传统采样

此部分在今年四月份举办的第二届『eBPF开发者大会』演讲中做过详细介绍,感兴趣的小伙伴可以到B站搜索【eBPF 数据库】观看郑祥相关演讲视频了解。

图片

eBPF的探测业界主要应用在网络这块,在数据库这块落地最难的点是性能消耗。目前我们做到整体性能控制在5%以内,正常2%-3%,相对于数据库本身的审计日志来说,这点消耗能带来这么强的能力几乎不值一提。

图片

创新点2:更精准的数学模型代替传统经验

通过eBPF采集到每条SQL的详细资源消耗,再结合数据库整体资源曲线,通过特征值检测、相关性、根因诊断等算法,就可以快速识别出实例资源抖动的SQL根因,代替传统经验。

图片

创新点3:一分钟内索引推荐全局最优

目前PostgreSQL主要采用基于Plugin的虚拟索引来实现索引推荐,但Plugin的方案对数据库有侵入且维护成本高。基于eBPF的外置Cost优化器,可以不用真正执行SQL就可以评估该SQL的实际Cost消耗,推荐最小Cost的索引。

图片

创新点4:涵盖性能的SQL审核

通过自研外置COST优化器可以实现快速、精准、对线上实例无感的索引推荐。借助索引推荐进一步实现了SQL性能审核,目前业界独家,可以助力开发同学在SQL上线前精准的评估SQL性能,避免问题SQL流到线上,很好的提前规避故障。

图片

5.DBdoctor功能架构

图片

基于以上创新点,便组合起了DBdoctor核心架构。主要包含:平台管理、主动发现问题、SQL根因分析、锁根因分析、优化建议、SQL审核、监控巡检、参数调优等功能。

6.企业级解决方案

基于以上功能,DBdoctor提供了企业级全方位性能诊断解决方案,包含事前发现隐患事中精准诊断事后随时追溯。

图片

四. DBdoctor使用场景

场景一:业务发生卡顿,根因在哪?如何解决?

业务卡顿一般是由于资源抖动和锁引起的,性能洞察功能可以快速找到卡顿根因,并推荐优化建议。

图片

图片

场景二:开发说哪几个SQL有问题?

从开发视角展示存在哪几个根因SQL,并提供详细执行频率和优化建议。

图片

场景三:我的数据库真的健康吗?

增加深度巡检,覆盖性能的巡检,提前识别潜在问题。

图片

场景四:覆盖性能的SQL审核

告别上线前瑟瑟发抖,不用再生产执行,在开发阶段就可以评估出SQL在线上的性能情况。

图片

当然,福利也不可少。为了感谢PG社区和众多小伙伴的支持,DBdoctor直接将:监控告警、SQL审核、巡检报表、存储诊断、SQL审计、平台管理等功能全部设置为了免费。基于免费的DBdoctor可以快速构建企业级性能监控与审核平台,且不限用户数,不限实例数,不限引擎,无需申请,下载即可用,零套路。

 五. PPT下载&观看回放

关注『DBdoctor』公众号,回复eBPF,立即获取演讲PPT!回复eBPF视频,立即观看回放!

图片

图片

DBdoctor推出长久免费版

DBdoctor是一款企业级数据库全方位性能监控与诊断平台,致力于解决一切数据库性能问题。可以对商业数据库、开源数据库、国产数据库进行统一性能诊断。

图片具备:SQL审核巡检报表监控告警存储诊断审计日志权限管理等免费功能,不限实例个数,可基于长久免费版快速搭建企业级数据库监控诊断平台。

图片同时拥有:性能洞察、锁分析、根因诊断、索引推荐、SQL发布前性能评估等高阶功能,官网可快速下载,零依赖,一分钟快速一键部署。

如果您想要试用全部功能可添加公众号自助申请专业版license。成为企业用户可获得产品定制、OpenAPI集成、一对一专家等高阶服务。欢迎添加小助手微信了解详细信息!

1️⃣ 产品介绍:

内核级数据库性能诊断工具DBdoctor

2️⃣免费下载/在线试用:

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

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值