本文档介绍如何对 AlloyDB 实例的列式引擎进行调优。本文档假定您熟悉 PostgreSQL。
调整用于维护任务的 CPU 资源
以下示例展示了如何将列式引擎配置为使用 50% 的 CPU 核心:
google_job_scheduler.maintenance_cpu_percentage = 50
列式引擎最多会使用 20% 的 CPU 核心来执行后台维护作业,例如填充、刷新和推荐。如需调整 CPU 资源以允许用于维护任务,请将 google_job_scheduler.maintenance_cpu_percentage
标志设置为 20
到 100
之间的值。默认值为 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,适用于大多数典型数据库用途。不过,您可能会遇到需要增加此值的情况。