克里斯托夫·佩图斯:世界的工作者,团结起来!

克里斯托夫·佩图斯:世界的工作者,团结起来!

💡 原文英文,约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的内存,需适当设置。
➡️

继续阅读