💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
PostgreSQL最近几个版本引入了后台工作进程,包括max_worker_processes、max_parallel_workers、max_parallel_maintenance_workers和max_parallel_workers_per_gather等设置,每个工作者可以使用work_mem的内存。
🎯
关键要点
- PostgreSQL最近版本引入了多种后台工作进程,包括并行工作者。
- 每个设置创建一个潜在工作者池,max_worker_processes设置工作进程池的整体大小。
- max_parallel_workers设置并行执行工作进程的数量,分为并行维护工作者和并行查询工作者。
- 并行维护工作者处理索引创建和清理,max_parallel_maintenance_workers设置其最大数量。
- 并行查询工作者自动启动以并行化查询,最大数量由max_parallel_workers_per_gather设置。
- 建议从max_parallel_workers开始调优,初始值为服务器核心数的2-3倍。
- max_worker_processes可以在max_parallel_workers的基础上增加4-8个进程。
- 对于max_parallel_workers_per_gather,处理大结果集时可以将其从默认的2增加到4-6。
- max_parallel_maintenance_workers的推荐值为4-6,具体取决于核心数量。
- 每个并行查询执行的工作者可以单独消耗up to work_mem的内存,需适当设置。
➡️