TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 780 subscribers
Post #1772 5
PostgreSQL max_connections 详解:内存、连接数与性能的平衡

max_connections 不是决定查询并发数的参数,而是 PostgreSQL 为每个客户端后端预留共享内存的预算。默认 100,范围 1–262,143。它决定:

- 允许的客户端后端数目;
- 预留的共享内存大小(每个后端占用 PGPROC、pg_stat_activity 行、锁表等)。
- 需要在主机重启后才能修改。

在 18.6 上,默认 shared_buffers 时,max_connections=100 时共享内存约 150 MB;1,000 时 197 MB;5,000 时 389 MB。锁表占用随连接数线性增长。热备机必须与主机使用相同或更大的 max_connections,否则启动失败或在 WAL 中警告。

连接成本
空闲后端仅占约 1 MB 私有内存;活跃后端会消耗 work_mem、hash join 内存等。超过核心数的活跃连接会导致上下文切换、锁竞争,吞吐量下降。

云服务默认值
- Heroku:500 → 5,000(Advanced tier)
- AWS RDS:公式 LEAST(DBInstanceClassMemory/9531392, 5000)
- Azure:MIN(memoryGib*0.1049164697034809, 5000)
- Google Cloud SQL:16 GB 仅 500。

默认值已从 100 提升至 17–50 倍,取决于内存。建议使用 RDS Proxy 等连接池器来避免“too many clients”错误。


实践建议
1. 先在备机调高 max_connections,再在主机调高;反之则会导致恢复暂停。
2. 监控 pg_stat_activity、wait_event_type、load average,及时发现锁竞争。
3. 对高并发应用使用连接池,避免直接打开数百连接。

#开发者 #工具 #PostgreSQL #max_connections #云数据库 #RDSProxy
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 24, 2026DMAIC 框架如何优化技术交付 技术项目通常能清晰描述交付内容,但常常缺失对改善目标、问题证据、根因、成功基准和持续改进机制的梳理。DMAIC 是定义、测量、分析、改进、控制的缩…
  2. Sep 23, 20262026年五大热门MCP网关汇总 MCP标准化了模型和代理连接外部系统的方式,当组织内有大量AI应用、工具和多团队协作时,连接MCP服务不难,难在管理。 MCP网关就是用于解决这类…
  3. Sep 23, 2026AI reshaping 全球服务外包市场 数十年来,企业扩张运营规模默认方案是将后台工作、一线客户服务和行政支持转移到低成本人力中心。 印度和菲律宾在全球服务贸易中占据了巨大份额…
  4. Sep 23, 2026AI 代理端到端开发工作流 现有AI编码代理能较好完成单个开发任务,但处理包含多个关联任务的完整功能需求时,会遇到任务编排、依赖管理和风险控制等问题。近期有文章提出一套从Epic到…
  5. Sep 22, 20262026年LLM路由工具选型对比 选择LLM路由工具的核心依据是基础设施控制权,而非模型数量。LiteLLM支持100+模型提供商,已经成为混合部署自托管模型与云端模型团队的标准方…
  6. Sep 22, 2026Archify 推出浏览器端交互式图表 Archify 是MIT许可的开源系统图表生成工具,2026年4月创建,截至2026年9月已收获超65000个Star,目前仅以Agent技…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →