当前位置:首页 > 报告详情

1-刘华阳-vacuum集中管理.pdf

上传人: 张** 编号:155535 2024-02-15 25页 1.13MB

1、Vacuum 集中管理与设计演讲人:刘华阳东方瑞通&高级讲师(兼职)CONTENTPostgreSQL 工作中的问题与解决Vacuum 在工作中的问题集中化管理的意义设计与实现细节PostgreSQL 工作中的问题与解决PostgreSQL 工作中的问题与解决基于PostgreSQL MVCC(multi-Version Concurrency Control)设计模式,以及独有的Undo表空间在PostgreSQL 中的实现方式,在日常数据库运行中产生了一些PostgreSQL 独有的数据库维护工作。而基于维护工作的不及时,产生了一些PostgreSQL 数据库运行维护中的一些缺陷导致运行维

2、护产生问题1表空间的快速膨胀,占用大量磁盘2膨胀后维护不及时,空间无法重用3性能随膨胀过程持续下降4大表维护过程耗费时间和系统资源的消耗举例:日志表只插入数据的情况在PG13 之前的版本,在日志表大量插入数据中存在缺陷,导致insert-only 的表无法触发autovacuum的工作。PG13 包含 PG13 后的数据库添加了参数autovacuum_vacuum_insert_thresholdautovacuum_vacuum_insert_scale_factorPostgreSQL 工作中的问题与解决PostgreSQL 工作中的问题与解决举例:PG 13 中优化了vacuum 命令

3、中的针对表vacuum中的并行工作,提高了进行vacuum时的效率。vacuum(parallel 4,verbose)table_name;PostgreSQL 工作中的问题与解决举例:PG16 中对于 vacuum 命令进行了优化,基于之前在运行autovacuum给系统造成的负担的问题是无法及时解决,而需要整体完成后,在再一次执行autovacuum 时才可以 reload 新的config的问题,PG16 做出了积极的改善,可以在autovacuum运行的过程中就直接再次对于新设置的配置,进行采用来解决当前由于autovacuum导致的系统性能消耗过大的问题,尤其针对Cost limi

4、t&Cost dealyhttps:/git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=7d71d3dd080b9b147402db3365fe498f74704231PostgreSQL 工作中的问题与解决小结:PostgreSQL 一直都在对 vacuum,autovacuum 的工作进行优化,无论是参数,还是工作方式,或是工作上性能的部分。vacuum 日常工作中的问题Vacuum 在当前工作中的问题主要集中在以下几个方面1程序的设计本身并未考虑PostgreSQL MVCC 的特点,大量update的设计2管理人员对于

5、PG数据库原理的不清晰,没有良好的设置autovacuum参数3表的容量变的越来越大,全局性的设置autovacuum的参数对于大表无效4突发性的数据更新,集中批量性的更新导致无法及时进行autovacuum的问题5相关参数设置不合理,导致频繁触发IOPS 和 CPU 飚高的情况当前 vacuum 工作中的问题当前 vacuum 工作中的问题案例:从Oracle 替换到PG 后半年时间后,发现经常性的在业务高峰期,CPU突发性的飚高,IOPS 突发性的飚高,产生的慢查询本身并不是慢SQL,或问题期间未有明显的慢查询语句。当前 vacuum 工作中的问题案例:在使用PG一段时间后,表的行数达到上

6、亿后,发现查询的性能和速度有一定的衰减,但索引正确,并且查询中并不是每次都发生类似性能衰减的问题,在重建索引后,问题得到解决案例:在调整autovacuum 的参数工作情况是良好,但又经过一段时间后发现autovacuum的工作又不及时了,进而又对autovacuum在表中的参数进行了调整。当前 vacuum 工作中的问题小结:PostgreSQL 的一些奇怪的问题,多发生在一些大表以及使用过一段时间的PostgreSQL上,核心的问题主要在autovacuum 的参数不正确或从未调整,导致一些大表的autovac

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了PostgreSQL数据库中的Vacuum和autovacuum机制在工作中遇到的问题及其解决方法。文章指出,PostgreSQL的MVCC设计和Undo表空间导致了一些特有的数据库维护问题,如表空间快速膨胀、性能下降等。文中提到了PG13和PG16中对Vacuum命令的优化,以及autovacuum参数设置不合理导致的性能问题。作者强调,PostgreSQL的一些问题多发生在大表和长时间使用的数据库上,核心问题在于autovacuum参数设置不当或未调整。为了解决这些问题,提出了集中化管理的意义,即通过自动化和智能化的方式对数据库进行管理,减少管理人员对autovacuum参数的调整。最后,文章提到了设计与实现细节,包括业务系统特点和数据更新频率等因素的考虑。
"PostgreSQL中的Vacuum和autovacuum如何优化数据库性能?" "如何解决PostgreSQL大表维护的效率问题?" 如何实现智能自动化vacuum?"
客服
商务合作
小程序
服务号
折叠