云数据库 GaussDB-连接设置:max_connections
max_connections
参数说明:允许和数据库连接的最大并发连接数。此参数会影响数据库的并发能力。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型。最小值为10(要大于max_wal_senders),理论最大值为262143,实际最大值为动态值,计算公式为“262143 - job_queue_processes - autovacuum_max_workers - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - max_inner_tool_connections - min(max(newValue/4,64),1024)”,job_queue_processes、autovacuum_max_workers和max_inner_tool_connections的值取决于对应GUC参数的设置,AUXILIARY_BACKENDS为预留辅助线程数固定为20,AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数固定为2,min(max(newValue/4,64),1024)公式中newValue为新设置的值。
默认值:
55000(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);40000(96核CPU/768G内存);25000(64核CPU/512G内存);24000(60核CPU/480G内存);11000(32核CPU/256G内存);5000(16核CPU/128G内存);2048(8核CPU/64G内存);100(4核CPU/32G内存,4核CPU/16G内存)
设置建议:
数据库主节点中此参数建议保持默认值。
配置不当时影响:
- 若配置max_connections过大,超过计算公式所描述的最大动态值,会出现节点拉起失败问题,报错提示“invalid value for parameter "max_connections"”;或在拉起时申请内存失败,报错提示“Cannot allocate memory”。
- 若未按照对外出口规格配置仅调大max_connections参数值,未同比例调整内存参数。业务压力大时,容易出现内存不足,报错提示“memory is temporarily unavailable”。
- 对于管理员用户的连接数限制会略超过max_connections设置,目的是为了让管理员在链接被普通用户占满后仍可以连接上数据库,再超过一定范围(sysadmin_reserved_connections参数)后才会报错。即管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。
- 对于普通用户来说,由于内部作业也会使用一些链接,因此会略小于max_connections,具体值取决于内部链接个数。
- 华为云数据库 RDS for PostgreSQL 实例规格介绍
- 连接GaussDB(for MySQL)数据库_华为云数据库GaussDB(for MySQL)_数据库连接
- 如何连接测试服务器数据库_mysql数据库磁盘满了怎么办
- RDS for MySQL限流_华为云数据库RDS_自治限流_SQL限流
- GaussDB查询数据表_GaussDB查看数据库连接数_高斯数据库查询数据表-华为云
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- RDS for MySQL变更实例的CPU和内存规格_CPU和内存_CPU过高_MySQL内存
- GaussDB工具_gaussdb怎么读_高斯数据库工具_华为云
- GaussDB培训_GaussDB教程_高斯数据库培训-华为云
- GaussDB视频教程_gaussdb查看表结构语句_高斯数据库视频教程_华为云