上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2-施博文-浅析腾讯云 PG 自研特性与实践经验-施博文(1).pdf

编号:158303 PDF 24页 3.28MB 下载积分:VIP专享
下载报告请您先登录!

2-施博文-浅析腾讯云 PG 自研特性与实践经验-施博文(1).pdf

1、浅析腾讯云 PG 自研特性与实践经验施博文 腾讯云数据库 内核研发工程师实践经验分享01.腾讯云 PG 近年来的一些“踩坑”经验内核自研特性介绍02.腾讯云 PG 做了哪些事情 未来与展望03.腾讯云 PG 的未来目录实践经验分享腾讯云 PG 近年来的一些“踩坑”经验实践经验分享4发布订阅复制槽被占满 问题:只建 1 个发布订阅,设置 max_sync_workers_per_subscription=1,max_replication_slots=92,发布订阅在全量同步阶段卡住(并发)。发布端报错:复制槽全部被名字叫 pg_xxx_sync_xxx 的 slot 占满订阅端报错:origi

2、n 被占满(origin 来标记逻辑复制来源)发布端报错订阅端报错实践经验分享5发布订阅复制槽被占满 原理介绍 针对表 t 的订阅,分为全量和增量两阶段:1.全量阶段:将发布端中 t 的数据 COPY 到订阅端;2.增量阶段:全量阶段结束后,解码 WAL,将关于表 t 的 WAL 解码成逻辑志,发送给订阅端;实践经验分享6发布订阅复制槽被占满 全量阶段订阅端分为以下步骤处理(省略关内容):1.apply 进程启动 table sync worker(表同步进程);2.table sync 进程在发布端创建 pg_sync_xxx slot;3.table sync 进程在订阅端创建 origi

3、n;4.全量同步(COPY)数据;5.同步完成,table sync 进程删除发布端 slot;6.apply 进程删除 origin;7.全量阶段结束,进普通逻辑复制状态(r)实践经验分享7发布订阅复制槽被占满 问题分析:个发布订阅包含多张表时,正常处理的场景如下(max_sync_workers_per_subscription=1)apply 进程视角实践经验分享8发布订阅复制槽被占满 问题分析:异常场景下,t1、t2.在 COPY 阶段出错,订阅端 origin 未被删除apply 进程视角实践经验分享9发布订阅复制槽被占满 问题分析:1.表同步阶段出错,订阅端 origin 未释放,

4、最终占满2.新启动的 table sync worker 会先在发布端创建 pg_xxx_sync_xxxxx slot,然后发现订阅端 origin 被占满,报错退出,此时发布端的 pg_xxx_sync_xxxxxx slot 并不会被删除(PG 14 特性);3.发布端 slot 被占满;4.发布端和订阅端均开始报错,发布订阅卡住,法继续进。影响版本:PG 14、15(pg_xxx_sync_xxxxxx slot 从 temporary slot 变为 permanent slot)实践经验分享10发布订阅复制槽被占满 问题修复:PG 16 已完成部分修复,分为两个 commit 提交

5、(f6c5edb、88f4883),但仍有发问题的可能社区修复:将 origin 的删除动作交由 table sync worker 完成,让其在退出前先删除 订阅端的 origin。异常修复:apply 进程择机将 table sync worker 因为异常退出留下的 origin 删掉临时规避段:订阅端 max_replication_slot 调点 实践经验分享11逻辑复制 walsender 进程卡住 背景:户在使逻辑复制时,发现 walsender 进程卡在同个位点很久(超过 1h),始终不继续向前推进 现场:perf 图显示 CPU 卡在 hash_seq_search 函数上,

6、pg_waldump 对应的 lsn 是条 drop publication 语句。rmgr:Transaction len(rec/tot):475877/475877,tx:1511906902,lsn:1F627/6ADC7DB8,prev1F627/6ADC7D80,desc:COMMIT 2022-12-08 11:22:54.989016 CST;inval msgs:catcache 45 catcache 44 catcache 47 catcache 46 catcache 47 catcache 46 catcache 47 catcache 46 后面省略很多个 catc

7、ache进程堆栈WAL 信息实践经验分享逻辑复制 walsender 进程卡住 问题复现(版本 PG 13):1.创建两个 PG 实例,个作为发布端,个作为订阅端,创建张表 t,并建个只包含表 t 的发布订阅;2.发布端创建 10w 张表;3.发布端创建个发布 pub_large,只包含 1000 张表;4.发布端向 10w 张表每张表插条数据;5.发布端运 insert into t values(1);,此时订阅端能很快接收到此条数据;6.发布端运 drop publication pub_large;7.发布端运 insert into t values(1);,此时订阅端法接收到此条数

8、据;实践经验分享逻辑复制 walsender 进程卡住 原因:重复遍历哈希表 1.pgoutput invalid cache 回调函数多次重复遍历哈希表(修改情况);2.drop publication 从系统表中删除 1000 条元组 成 4000 条 invalidcache消息 walsender 进程解析到该条 WAL 志时,针对每条 invalid cache 消息都会从哈希表中删除对应元素;command-id 数量invalid cache 消息数量哈希表元素个数RelfilenodeMap 哈希表:通过 value 找 key,顺序遍历哈希表所有元素并删除对应的 时间复杂度:

9、O(1000*4000*100000)O(10!)drop publication实践经验分享逻辑复制 walsender 进程卡住 TencentDB for PG 优化(版本 PG 13)1.pgoutput 增加 lazy flag,避免效重复遍历哈希表;2.建反向哈希表(relid relfilenode)时间复杂度:O(1000*4000*1)O(106)社区优化(版本 PG 14)1.新增种 XLOG_XACT_INVALIDATIONS 志类型,记录 invalid cache 消息 时间复杂度:O(1000*4*100000)O(108)内核自研特性介绍腾讯云 PG 做了哪些事

10、情内核自研特性介绍内核自研特性介绍逻辑复制槽故障转移(Failover Slot)实例 HA 后户可以感知的继续使原有的逻辑复制 功能介绍tencentdb_failover_slot 插件 (创建/删除/查询 failover slot)WAL 志记录 slot 信息,主备同步;与社区 PG 同版本兼容针对异常情况做特殊处理内核自研特性介绍18TDE 透明数据加密 数据在硬盘上读写时进加/解密,户层使感知静态数据密存储需要密钥才能解密户应读到明内核自研特性介绍19冷热存储分离 cos_fdw 插件:将不常的数据放到 COS(对象存储)上,使 cos_fdw 可直接将对象存储 中的数据当作外部

11、表来访问SELECT a.id,b.name,c.valueFROMtbl_a a,tbl_b b,tbl_cos cosWHEREa.id=b.id.内核自研特性介绍20审计日志功能 支持“极速版”和“精细版”两种模式:户可根据身业务场景动态调整极速版:对标 PG 原的全 log_statement=all 精细版:对标 pgaudit 插件的能,持审计 SQL 类型、对象名以上两种模式,都额外新增审计影响数、执时的能 审计日志性能优化现网 8C 32G 测试结果如右图所示高并发场景下性能提升明显 对接 DBbrain 平台AI4DB,帮助用户分析业务场景内核自研特性介绍21实例进程监控 持

12、进程级别的 CPU/内存 使率监控插件的式提供监控视图,对内核侵读取操作系统/proc/pid/stat 提供的统计信息并计算,保证准确性和及时性易性,持按照 database、进程类型进分类统计,适于 SaaS 场景未来与展望腾讯云 PG 的未来未来与展望23TencentDB for PG 未来 云原化 打造基于云原的操作系统云多芯 智能化AI4DB:数据库治,协助 DBA 简化运维;DB4AI:在数据库中使机器学习的算法处理、分析数据;Serveless 化极致弹性,从卖资源转向卖能,释放云计算资源池化潜,实现客户与云商的双赢;多级存储机制,冷数据效查询分析,进步帮助户降本增效;THANKSTHANKS

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2-施博文-浅析腾讯云 PG 自研特性与实践经验-施博文(1).pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部