Postgresql垃圾回收Vacuum优化手册
创始人
2024-04-14 04:48:29

1 Vacuum启动频率太低

参数建议
autovacuum_vacuum_scale_factor当update,delete的tuples数量超过 autovacuum_vacuum_scale_factor * table_size + autovacuum_vacuum_threshold 时,进行vacuum;对大量删除、更新的表可以适当降低这个值。
autovacuum_vacuum_threshold同上配合使用。
autovacuum_naptimelauncher会分配到每个DB上,如果有两个db配置1min,launcher会30s拉起一个worker。

2 Vacuum单次太慢

为什么慢分析:https://www.postgresql.org/docs/14/progress-reporting.html#VACUUM-PROGRESS-REPORTING

参数建议
autovacuum_vacuum_cost_delay结合下面的参数使用,可以配0不休眠
autovacuum_vacuum_cost_limitvacuum干活会积累work point,超过autovacuum_vacuum_cost_limit后,开始休眠autovacuum_vacuum_cost_delay
autovacuum_max_workers看CPU负载适当增加
shared_buffers增加缓存间接增加vacuum速度
autovacuum_work_mem单次可以处理更多的dead tuple
maintenance_work_mem单次可以处理更多的dead tuple
max_parallel_maintenance_workers执行Vacuum DDL时可以并发

3 Vacuum没有效果

参数Recommendation建议
statement_timeout避免长事务
idle_in_transaction_session_timeout避免空闲长事务
log_min_duration_statement记录长事务
hot_standby_feedback打开后,备库的长事务查询会一直阻塞主库的清理动作
vacuum_defer_cleanup_age保留了太多的事务,可以适当减小
复制槽卡回收位置复制槽一直在无法清理:pg_replication_slots
二两阶段事务卡回收位置一阶段提交的时候一直没有二阶段提交:pg_prepared_xacts

相关内容

热门资讯

卡塔尔代表团抵达伊朗,讨论双边... 据伊朗方面消息,当地时间6月10日,一个卡塔尔代表团抵达伊朗德黑兰,讨论双边关系和地区局势。据了解,...
【哈尔滨新闻】聚焦“东北超” ... (来源:哈尔滨新闻眼)      今天,征战2026 东北地区城市足球联赛的呼和浩特队一行顺利抵达哈...
2026年浙江高考顺利落幕 成... 中新网杭州6月10日电(曹丹)6月10日下午,随着地理选考结束铃声响起,2026年浙江高考顺利收官。...
广东高院发布12项“粤法护企”... 中新网广州6月10日电 (方伟彬 马卓尔 徐华磊)广东省高级人民法院10日发布司法服务保障民营经济高...
深圳液冷展直击 | 乔锋智能:... (来源:乔锋智能)展会直击乔锋智能硬核亮相液冷赋算力 智铣启未来  聚焦液冷赛道,聚力智造新程!6月...