《2024PG大会-DBdoctor,基于eBPF的PostgreSQL可观测性解决方案-郑祥.pdf》由会员分享,可在线阅读,更多相关《2024PG大会-DBdoctor,基于eBPF的PostgreSQL可观测性解决方案-郑祥.pdf(37页珍藏版)》请在三个皮匠报告上搜索。
1、PostgreSQL中文社区第13届PostgreSQL中国技术大会聚焦云端创新汇聚智慧共享海信聚好看 郑祥DBdoctor,基于eBPF的PostgreSQL可观测性解决方案PostgreSQL中文社区技术优势使用场景03客户案例04性能痛点0102PostgreSQL中文社区目录contents01性能痛点PostgreSQL中文社区PostgreSQL中文社区行业调研显示性能问题是第一大痛点且耗时最长0.20.40.60.80.100.DBA架构师性能优化故障处理监控巡检安装部署备份恢复迁移升级性能优化、故障处理、监控巡检花费时间最多PostgreSQL中文社区数据库性能诊断过程中的挑战
2、非常紧急,整日忙于救火出现故障互相推责扯皮大促、放假就出问题以前不慢的,现在慢了平时很好,关键时候掉链子监控和日志没找到根因门槛高,依赖专业DBA出现问题,定位时间长平时不重视,故障驱动故障后不知道如何处理需要大量故障经验沉淀故障后,没有解决方案急责错PostgreSQL中文社区已有监控系统为什么不能解决上述问题缺乏成熟的解决方案缺乏精确的诊断能力阈值缺乏提前发现的措施现象1.关键重要节点掉链子2.没故障则认为没问题原因1.未达到告警阈值的隐患2.缺少日常的细粒度巡检现象1出现问题定位时间长2.传统监控浮于表面原因1.缺乏更深层的监控数据2.缺乏更精准的根因诊断现象1.强依赖难以传承的经验2.
3、现象明确但无解决方案原因1.没有把经验与现象关联2.没有给出问题优化建议故障经验故障经验故障经验这么多指标啥关联?没找到关键日志告警指标PostgreSQL中文社区行业内PgSQL秒级监控如何实现?有没有更优方式?110s频率采集(缺少更精细数据)修改源码打点或Plugin(对代码有侵入)PostgreSQL中文社区DBdoctor 重新定义数据库可观测利用最新采集技术,基于数学量化模型重新定义数据库可观测打破基于经验、规则、阈值的传统,彻底解决数据库性能问题传统监控传统监控无法解决数据库性能痛点打破传统重新定义经验规则规则经验精确性无保证02技术优势PostgreSQL中文社区Postgre
4、SQL中文社区DBdoctor致力于实现DB AGI精确的数学模型代替传统经验极度降低数据库性能分析门槛智能巡检SQL审核提前发现提前消除隐患规避故障发生内置专家经验库和索引推荐器快速解决问题提升业务稳定性eBPF深入内核函数采集指标一分钟定位问题提升工作效率DBdoctor内核级数据库性能诊断快速定位问题精确诊断根因 给出优化建议提前发现隐患专注于数据库性能的生态软件,致力于解决一切数据库性能问题;行业首次将eBPF技术聚焦在数据库领域,创新性实现性能可观测。PostgreSQL中文社区eBPF在数据库领域能干啥?1、根因诊断2、SQL优化聚焦:数据库性能eBPF(extended Berk
5、eley Packet Filter)是一种在Linux内核中执行代码的技术,它允许开发人员在不修改内核代码的情况下运行特定的功能PostgreSQL中文社区eBPF如何探测PostgreSQL?Case需求:实现用户连接创建的探测1、找函数2、加探针探测3、内核态存储4、用户态读取5、数据投递PostgreSQL中文社区eBPF适配成本如何?PostgreSQL中文社区创新点1:基于eBPF代替传统采样等待调度操作IOWait lockSending DatainitiateCPU单条SQL CPU消耗IO单条SQL IO消耗MEM单条SQL MEM消耗LOCK单条SQL 锁等待基于真实数据
6、eBPFDBdoctor问题SQL分析PostgreSQL内核事务SQL阶段内核函数SQL1SQL2SQLClientReadbuffer_contenttupleWALSyncOn CPUOff CPU遍历聚合排序上下文切换BP日志日志数据Sendrecv索引、主键、表log、MDL计算中等调度内存操作操作IO等锁磁盘网络行、表、MD、其他SQL语句在内核中的执行堆栈PostgreSQL中文社区创新点1:低消耗的eBPF探测eBPF观测PostgreSQL是不是一个玩具?结果说明:QPS 下降 1.05%时延提高 2%1W 的 QPS CPU 占用提高 0.2c 内存使用无变化每一条SQL执