对 AlloyDB for PostgreSQL 的列式引擎进行调优

本文档介绍如何对 AlloyDB 实例的列式引擎进行调优。本文档假定您熟悉 PostgreSQL。

调整用于维护任务的 CPU 资源

以下示例展示了如何将列式引擎配置为使用 50% 的 CPU 核心:

google_job_scheduler.maintenance_cpu_percentage = 50

列式引擎最多会使用 20% 的 CPU 核心来执行后台维护作业,例如填充、刷新和推荐。如需调整 CPU 资源以允许用于维护任务,请将 google_job_scheduler.maintenance_cpu_percentage 标志设置为 20100 之间的值。默认值为 20。后台维护任务的最低 CPU 利用率为 1 个 vCPU。

添加工作器以加速列式维护

以下示例展示了如何设置四个工作器进程:

google_job_scheduler.max_parallel_workers_per_job = 4

列式引擎最多使用两个工作器进程来执行填充和刷新后台作业。如需提高这些操作的速度,请设置以下标志,以增加用于后台作业的工作器进程数量。默认设置为 2 个工作器进程。这些进程采用 google_job_scheduler.maintenance_cpu_percentage 标志中指定的有限 CPU 资源来运行。此标志不需要重启数据库。

更改自动列式处理时间表

以下示例展示了如何将自动列式处理时间表设置为六小时:

google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'

您可以根据预计的扫描密集型工作负载,在 google_columnar_engine.auto_columnarization_schedule 标志中设置自动列式处理时间表。可为此标志指定一个或多个小时。更改此标志的值不需要重启数据库。

手动填充列式引擎

以下示例展示了如何手动填充列式引擎:

google_columnar_engine.enable_auto_columnarization = OFF

如果您希望仅手动填充列式引擎,请将 google_columnar_engine.enable_auto_columnarization 标志设置为 OFF。此标志的默认值为 ON。更改此标志的值不需要重启数据库。如需了解详情,请参阅手动管理内容

对列式引擎填充堆大小进行调优

以下示例展示了如何配置 google_columnar_engine.population_heap_size_in_mb 标志:

population_heap_size_in_mb = 250

为了将数据转换为列式格式,列式引擎会分配 google_columnar_engine.population_heap_size_in_mb 标志指定的内存量(以兆字节为单位)。转换完成后,系统会立即取消分配此内存,通常在几秒钟内完成。

population_heap_size_in_mb 设置的允许值范围为:最小 200 MB,最大 1000 MB。

population_heap_size_in_mb 标志的默认值为 250 MB,适用于大多数典型数据库用途。不过,您可能会遇到需要增加此值的情况。