有4种配置来启用并行并进行优化,但是文档 of PostgreSQL没有提到任何关于值或计算的内容。我的问题是:
1.如何计算
max_parallel_workers、max_parallel_workers_per_gather和max_worker_processes的值? 2-work_mem可以在连接和内存(RAM)的基础上计算,但是如果我启用并行,work_mem需要改变什么?
我的假设是:如果机器有8个核,the max_parallel_workers为8,工人进程和每集的值为32(8*4),我从原来的配置中提取的数字4,即每1次并行工作4集。
发布于 2018-11-12 14:12:16
经过一些搜索之后,我找到了一些答案,这可以帮助那些想要启用和拥有基本配置的人,比如您有4个核心(CPU):
您的最大工作进程将是核心的数量,而最大并行需要有相同的数量:
max_worker_processes = 4
max_parallel_workers = 4集合更复杂,因为可以根据您的需要和资源来操作这个值--需要测试才能获得最佳值,但是要启动值,可以使用core/2。
max_parallel_workers_per_gather = 2这不是最后的答案,有一些遗漏点..。我仍然在搜索和更新这个答案,或者等待一个更好的答案。
发布于 2019-06-28 00:40:50
https://stackoverflow.com/questions/53059944
复制相似问题