首页 > 解决方案 > Postgresql 10 - 并行配置

问题描述

有 4 种配置可以启用并行并进行优化,但 PostgreSQL 的文档没有说明任何有关值或计算的内容。我的问题是:

1- 如何计算 和的max_parallel_workers值 ?max_parallel_workers_per_gathermax_worker_processes

2-work_mem可以根据连接和内存(RAM)计算,但是work_mem如果我启用并行,需要改变一些东西吗?

我的假设是:如果机器有 8 个核心the max_parallel_workers是 8,并且工作进程和每次收集的值为 32(8*4),我从原始配置中取的数字 4 是每 1 个并行工作 4 个收集。

标签: postgresqlpostgresql-10

解决方案


经过一番搜索,我找到了一些答案,这可以帮助想要启用并拥有基本配置的人,如果您有 4 个内核(CPU):

您的最大工作进程将是核心数量,并且最大并行需要具有相同的数量:

max_worker_processes = 4
max_parallel_workers = 4

收集更复杂,因为可以根据您的需要和资源来操纵此值,有必要进行测试以获得最佳值,但是对于启动值,您可以使用 cores/2。

max_parallel_workers_per_gather = 2

这不是最终答案,还有一些遗漏...我仍在搜索和更新此答案或等待更好的答案。


推荐阅读