调整最大连接数
修改postgresql.conf中max_connections参数,根据服务器资源(如CPU、内存)和并发需求设置合理值(建议不超过系统资源承载上限)。
max_connections = 200(默认100,可逐步调整并测试性能)。优化连接参数
tcp_keepalives_idle、tcp_keepalives_interval、tcp_keepalives_count,保持连接活跃,避免被系统断开。superuser_reserved_connections(默认3),保留部分连接给超级用户,防止普通连接占满资源。使用连接池
部署PgBouncer等连接池工具,复用数据库连接,减少连接建立/销毁的开销,提升并发处理效率。
内存与资源分配
shared_buffers(建议为系统内存的25%-40%),用于缓存数据和索引,减少磁盘I/O。work_mem(如64MB-256MB),控制排序、哈希等操作的内存使用,避免单个连接占用过多资源。监控与调优
pg_stat_activity视图监控当前连接状态,识别异常连接。pg_stat_statements分析慢查询,优化高频SQL语句,减少锁竞争。操作系统级优化
ulimit -n),确保支持高并发连接。vm.swappiness=1,减少内存交换,提升数据库响应速度。注意:修改配置后需重启PostgreSQL服务生效,且需在测试环境验证调整效果,避免影响生产环境稳定性。