加速PG中vacuum

简介: 加速PG中vacuum

加速PGvacuum


一旦VACUUM进程发起后,VACUUM大表能加速吗?


简而言之,一旦vacuum开始工作,就不可能影响它的速度。主要原因是,这个进程大部分资源用于磁盘操作,这些操作速度不是太快。此外,仍然要为常规数据库进程留有足够的资源。考虑到这一点,改变一些系统参数可以允许单独的VACUUM工作进程加快其性能。

为此,需要配置相当“激进”的配置。这样VACUUM进程可以更加频繁发起,但随着每次启动,这些进程需要更少操作,从而减少总体工作时间。

下面是AUTOVACUUM参数的配置:

1)配置合适的autovacumm_max_workers(默认值3,这个值较低,因此10左右比较合适)

2)增加AUTOVACUUM检查发起的频率(autovacuum_naptime=1s,默认值是1分钟)

3)降低自动触发AUTOVACUUM发起的阈值。(autovacuum_vacuum_threshold=50

,autovacuum_analyze_threshold=10,autovacuum_vacuum_scale_factor=0.05,

autovacuum_analyze_scale_factor=0.05

4)降低触发FREEZE的阈值(autovacuum_freeze_min_age=5000000, vacuum_freeze_table_age=15000000

autovacuum_max_workers需要服务重启后生效,其他参数不需要。使用上述参数将增加AUTOVACUUM访问表的频率,同时将工作分解为更小部分。从而VACUUM将需要降低的工作量份额,并反过来加快整体命令的执行。

另外,一个更加“激进”的参数值可用于VACUUM命令(vacuum_cost_delay=0, vacuum_cost_page_hit=0, vacuum_cost_page_miss=1, vacuum_cost_page_dirty=10, vacuum_cost_limit=100)。这允许VACUUM利用更多资源,而牺牲其他服务进程,并降低了服务工作负载之间的暂停限制。


原文


https://dataegret.com/2022/01/accelerating-vacuum-in-postgres/

目录
相关文章
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 内存表可选项 - unlogged table
标签 PostgreSQL , 内存表 , unlogged table 背景 内存表,通常被用于不需要持久化,变更频繁,访问RT低的场景。 目前社区版本PostgreSQL没有内存表的功能,postgrespro提供了两个插件可以实现类似内存表的功能。
3422 0
|
存储 数据库
GreenPlum ANALYZE
分析有关的表的数据库中的系统表pg_statistic里的内容,并存储该结果收集统计信息。随后,Greenplum数据引擎使用这些数据来帮助判断查询的最有效的执行计划。
85 0
|
存储 关系型数据库 测试技术
PG14新特性--恢复和VACUUM的加速
PG14新特性--恢复和VACUUM的加速
239 0
|
固态存储 关系型数据库 开发者
PG13并行vacuum
PG13并行vacuum
166 0
|
SQL 监控 网络协议
优化PG查询:一问一答
优化PG查询:一问一答
141 0
|
SQL 关系型数据库 数据库
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之25 - parallel FDW scan (并行访问多个外部表) with parallel append (FDW must with IsForeignScanParallelSafe)
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan
357 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之11 - parallel gather, gather merge
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index sc
1799 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之13 - parallel OLAP : 中间结果 parallel with unlogged table
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel
650 0