Hasty Briefsbeta

双语

Postgres Postmaster does not scale

3 months ago
  • #Performance
  • #Postgres
  • #Scalability
  • Recall.ai每周处理数百万场会议,自动完成会议纪要和CRM更新等任务。
  • 会议同步(整点或半点开始)会影响媒体处理基础设施。
  • 会议开始带来的高负载峰值需要即时计算容量,以避免数据丢失。
  • Postgres的postmaster进程作为单线程循环,在高连接速率下成为瓶颈。
  • Postgres连接建立延迟(10-15秒)可追溯至postmaster的CPU饱和问题。
  • 调查发现postmaster的fork操作成本高昂,尤其在连接高波动时更为明显。
  • 在Linux中启用大页机制减少了页表项开销,使连接吞吐量提升20%。
  • 用于并行查询的后台工作进程给postmaster增加了压力,加剧了延迟问题。
  • 解决方案包括为EC2实例启动添加随机延迟,以及减少并行查询的突发压力。
  • postmaster的单线程特性是Postgres大规模部署时的根本性瓶颈。